我正在使用Ajax方法变得更好。我一直遇到小问题。
例如,我正在尝试创建一个显示注释类型功能,当用户点击链接时,将打开一个模态窗口,其中包含合作伙伴代码的注释历史记录。
我已经使用PHP将数据返回到网格中。我认为我不需要显示用于返回数据的代码。
这是我用来在HYPERLINK中存储数据属性和其他信息的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的数据属性,它还包含$ 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文件以运行查询以检索注释。但我无法超越这个。
您不能拥有重复的ID,因此请将其更改为类:
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中点击的链接
$('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);
}