0

このコードを作り直す必要があると思います。これが私の問題です。

カテゴリの下に「オファー」のリストを表示するクエリを呼び出しています。これらのリンクをクリックすると、jquery からモーダル ボックスが開きます。

すべてがうまく機能します!ただし、異なるカテゴリの下に同じ (同じ一意の ID ) のオファーがいくつかあります。

ページに複数のオファー リンクがあり、それをクリックすると、モーダル ウィンドウが 2 回読み込まれます。そのページには複数のインスタンスがあるためです。

問題の内容はわかっていますが、正しくコーディングする方法がわかりません。クエリで毎回スクリプトを作成または呼び出す必要がないことはわかっています??

ありがとう、これが私のクエリコードです:

$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 に答える