模态窗口在同一查询实例上多次打开

时间:2013-04-10 18:51:52

标签: php jquery ajax modal-dialog

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

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

1 个答案:

答案 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();
        });
    });
});