PHP AJAX JSON 发送到模式 window
PHP AJAX JSON send to modal window
我使用 Ajax 方法越来越好。不过,我一直 运行 关注小问题。
例如,我正在尝试创建一个 display-comment 类型的功能,当用户单击 link 时,将打开一个模式 window,其中包含评论的历史记录partner-code.
我已经使用 PHP 将数据 return 放入网格中。我认为我不需要显示用于 return 数据的代码。
这是我用来在超链接中存储 data-attributes 和其他信息的 ECHO:
<?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 的 data-attribute,它也包含 $row[partner_code].
在我的 javascript 文件中,名为 global.js,这是我目前拥有的:
$('a#pComment').on('click', function()
{
var partnercode = $('a').attr('data-code');
alert(partnercode);
}
我有 php 代码可以检索合作伙伴代码和 运行 查询。这工作正常,但我遇到问题的是上面的 javascript 代码。
目前,当我点击 link 时,我正在尝试提醒 partner-code。但我唯一收到的是:
我试过这个:
var partnercode = $('a#pComment').attr('data-code');
但是对于我单击的每一个 link,警告框都会显示 0000000001。
我知道一旦我能让 window 至少显示正确的 partner-code,我就可以将它发送到我的 PHP 文件到 运行查询以检索评论。但我无法克服这个问题。
您可以有重复的 ID,因此请将其更改为 class:
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
定位你js中点击的link
$('a.pComment').on('click', function()
{
var partnercode = $(this).attr('data-code');
alert(partnercode);
}
第一次回答别人以外的问题
为什么不使用 $(this)
?此外,为什么在您已经获得触发事件的元素时再次引用 $('a') ?选择 $('a')
意味着您选择了所有这些,对吧?
还有jQuery有数据方法供你使用。您可以在这里查看:http://api.jquery.com/data/
Idk,看看这些是否有帮助。
$('a#pComment').on('click', function()
{
var partnercode = $(this).data('code');
console.log(partnercode);
}
我使用 Ajax 方法越来越好。不过,我一直 运行 关注小问题。
例如,我正在尝试创建一个 display-comment 类型的功能,当用户单击 link 时,将打开一个模式 window,其中包含评论的历史记录partner-code.
我已经使用 PHP 将数据 return 放入网格中。我认为我不需要显示用于 return 数据的代码。
这是我用来在超链接中存储 data-attributes 和其他信息的 ECHO:
<?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 的 data-attribute,它也包含 $row[partner_code].
在我的 javascript 文件中,名为 global.js,这是我目前拥有的:
$('a#pComment').on('click', function()
{
var partnercode = $('a').attr('data-code');
alert(partnercode);
}
我有 php 代码可以检索合作伙伴代码和 运行 查询。这工作正常,但我遇到问题的是上面的 javascript 代码。
目前,当我点击 link 时,我正在尝试提醒 partner-code。但我唯一收到的是:
我试过这个:
var partnercode = $('a#pComment').attr('data-code');
但是对于我单击的每一个 link,警告框都会显示 0000000001。
我知道一旦我能让 window 至少显示正确的 partner-code,我就可以将它发送到我的 PHP 文件到 运行查询以检索评论。但我无法克服这个问题。
您可以有重复的 ID,因此请将其更改为 class:
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/
Idk,看看这些是否有帮助。
$('a#pComment').on('click', function()
{
var partnercode = $(this).data('code');
console.log(partnercode);
}