3

私は何年もの間、スタックのファンでしたが、これは私の最初の質問です。私の質問が明確であることを願っています。

私はこのコードを使用しています:

$(document).on("click", "#checkbox img", function () {
   // object
   var checkbox = $(this).next("input[type=checkbox]");
   // check if checked
   if(checkbox.is(":checked")) {
       checkbox.prop("checked", false); this.src = "http://imgs.airwalk-design.com/layout/chckno.png";
   } else {
       checkbox.prop("checked", true); this.src = "http://imgs.airwalk-design.com/layout/chckyes.png";
   }
});

これは素敵に機能します。ただし、ユーザーがフォームを閉じ (スライドアウト、DOM から削除)、別のフォーム (ajax、DOM に挿入) を開くと、そのフォームではチェックボックスが機能しません。ただし、最初のフォームを再度開くと、削除して再度追加した場合でも、チェックボックスがそのフォームで機能します。

何かアドバイス?

編集

MackieeE の回答/コメントは役に立ちました。代わりに「#uniqueformid #checkbox img」を使用しました。

4

1 に答える 1

1
#checkbox

は ID であるため、出現するのは 1 回だけです。これがおそらく、2 番目のフォームを挿入したときに機能しない理由です。代わりにクラスを使用してみてください。

于 2013-09-13T13:37:34.537 に答える