Я поправляюсь, используя метод 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-файл, чтобы выполнить запрос для получения комментариев. Но я не могу пройти мимо этого.
Вы не можете иметь идентификаторы 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);
}
Первый раз отвечаю кому-то кроме меня.
Почему вы не используете $(this)
вместо? Кроме того, почему вы снова ссылаетесь на $ (‘a’), пока у вас уже есть элемент, вызвавший событие? выбирающий $('a')
будет означать, что вы выбираете все из них, верно?
Также в jQuery есть метод данных, который вы можете использовать. Вы можете проверить здесь: http://api.jquery.com/data/
ИДК, посмотри, поможет ли это.
$('a#pComment').on('click', function()
{
var partnercode = $(this).data('code');
console.log(partnercode);
}