JQuery — PHP AJAX JSON отправить в модальное окно

Я поправляюсь, используя метод Ajax. Я продолжаю сталкиваться с небольшими проблемами, хотя.

Например, я пытаюсь создать функцию типа отображаемого комментария, где, когда пользователь нажимает на ссылку, открывается модальное окно с историей комментариев для кода партнера.

Я уже использовал PHP для возврата данных в сетку. Я не думаю, что мне нужно отображать код, который я использовал для возврата данных.

Вот ECHO, который я использую для хранения атрибутов данных и другой информации в HYPERLINK:

 <?php
......

echo "<td><a href='' id='pComment' name='".$row[partner_code]."'
class='comment' data-toggle='modal' data-code='".$row[partner_code']."'
data-name='".$row[partner_name]."'>" . $row[partner_name] . "</a></td>";

Как видите, я попытался сохранить данные ROW [partner_code] в атрибуте NAME. У меня также есть атрибут данных, называемый data-code, который также содержит $ row [partner_code].

В моем файле javascript, названном global.js, вот что у меня есть:

 $('a#pComment').on('click', function()
{
var partnercode = $('a').attr('data-code');
alert(partnercode);
}

У меня есть PHP-код, который будет получать код партнера и выполнить запрос. Это хорошо работает, но это код JavaScript выше, у меня проблемы с.

В настоящее время, когда я нажимаю на ссылку, я пытаюсь предупредить код партнера. Но единственное, что я получаю, это:

введите описание изображения здесь

Я попробовал это:

 var partnercode = $('a#pComment').attr('data-code');

Но в окне предупреждения будет отображаться 0000000001 для каждой ссылки, которую я нажимаю.

Я знаю, что, как только у меня появится окно для отображения правильного кода партнера, я могу отправить его в мой PHP-файл, чтобы выполнить запрос для получения комментариев. Но я не могу пройти мимо этого.

0

Решение

Вы не можете иметь идентификаторы dupliacte, поэтому измените их на класс:

echo "<td><a href='' name='".$row[partner_code]."'
class='comment pComment' data-toggle='modal' data-code='".$row[partner_code']."'
data-name='".$row[partner_name]."'>" . $row[partner_name] . "</a></td>";

Затем настройте таргетинг на нажатую ссылку у вас this

$('a.pComment').on('click', function()
{
var partnercode = $(this).attr('data-code');
alert(partnercode);
}
2

Другие решения

Первый раз отвечаю кому-то кроме меня.

Почему вы не используете $(this) вместо? Кроме того, почему вы снова ссылаетесь на $ (‘a’), пока у вас уже есть элемент, вызвавший событие? выбирающий $('a') будет означать, что вы выбираете все из них, верно?

Также в jQuery есть метод данных, который вы можете использовать. Вы можете проверить здесь: http://api.jquery.com/data/

ИДК, посмотри, поможет ли это.

 $('a#pComment').on('click', function()
{
var partnercode = $(this).data('code');
console.log(partnercode);
}
1

По вопросам рекламы [email protected]