为什么我的Ajax在while循环中只能获取第一项数据?
示例:首先添加到愿望清单中,其中第一个商品的商品ID = 64,当我添加另一个商品时,商品ID始终为64.
我的代码:
<a id='addtowishlist' class='link' href='#' data-data='".$rows['p_id']."'>Add to wishlist</a>
<script type="text/javascript">
$(document).ready(function(){
$("#addtowishlist").live('click', function(evt) {
var link_data = $('.link').data('data');
$.ajax({
type: "POST",
url: 'addtowishlist.PHP',
data: ({product_id: link_data}),
success: function(data) {
alert(data);
}
});
});
});
</script>
解决方法:
ID必须是唯一的.否则,请使用类.如果您对ID使用相同的名称,则仅返回第一个匹配的数据.尝试以下代码:
<a class='addtowishlist link' href='#' data-data='".$rows['p_id']."'>Add to wishlist</a>
和这个 :
<script type="text/javascript">
$(document).ready(function(){
// use class selector instead of ID
$(".addtowishlist").live('click', function(evt) {
// take only current clicked data element
var link_data = $(this).data('data');
$.ajax({
type: "POST",
url: 'addtowishlist.PHP',
data: ({product_id: link_data}),
success: function(data) {
alert(data);
}
});
});
});
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。