我想我只需要重新编写这段代码。这是我的问题。
我正在调用一个查询来显示类别下面的“商品”列表。然后单击这些链接,它们将在jquery的模式框中打开。
一切都很棒!但是,有些优惠在不同类别下面是相同的(相同的唯一ID)。
当页面上有多个商品链接时,如果单击它,它将加载模式窗口两次..因为该页面上有多个实例。
我知道问题所在,但我无法理解如何正确编码!我知道我不需要每次在查询中创建或调用脚本?
谢谢,这是我的查询代码:
$line .= '<span class="icon-caret-right"></span> <a id="manual-ajax'.$offer_id.'" href="view.php?o='.$offer_id.'">'.$offer_title.'</a><br />';
$line .= " <script> $('#manual-ajax$offer_id').click(function(event) {
event.preventDefault();
$.get(this.href, function(html) {
$(html).appendTo('body').modal();
});
});
</script>";
答案 0 :(得分:1)
问题是您的ID不是唯一的,因为它们是必需的。因此,当再次出现相同的ID时,您将其他点击处理程序绑定到元素。
但是,如果您使用类,则不需要ID。
$line .= '<span class="icon-caret-right"></span> <a class="manual-ajax" href="view.php?o='.$offer_id.'">'.$offer_title.'</a><br />';
然后写一个处理程序:
$(function() {
$(".manual-ajax").click(function(event) {
event.preventDefault();
$.get(this.href, function(html) {
$(html).appendTo('body').modal();
});
});
});