0

我想我只需要重新处理这段代码。这是我的问题。

我正在调用一个查询来显示类别下的“优惠”列表。然后单击这些链接,它们在 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>";
4

1 回答 1

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();
        });
    });
});
于 2013-04-10T19:07:28.223 回答