0

HTMLページにチェックボックスのリストがあります

 <input type="checkbox" id="example1" value="1">
 <input type="checkbox" id="example2" value="2">

表示される要素の詳細を含むデータベース テーブルの内容に従って、php を介して生成されます。データベースの内容によって数が変わる可能性があるため、ページ内のチェックボックスの数はいつでもわかりません。

さて、チェックボックスのヒットに返信するために、使用しようと考えていました

 $('#example').mousedown(function() {   
    if (!$(this).is(':checked')) {
        this.checked = confirm("Are you sure?");
        $(this).trigger("change");
    }
 });

しかし、この方法は、私が知らないチェックボックスの名前/IDを知ることを意味し、それが生成される原因です...では、チェックボックスを生成し、jqueryを介してヒットしたコントロールをどのように生成できますか?

4

1 に答える 1

1

チェックボックスにクラスを与えてみてください:

<input type="checkbox" class="cls1" id="example1" value="1">
<input type="checkbox" class="cls1" id="example2" value="2">

次に、mousedownイベントをバインドするときに、ID で選択する代わりに、そのクラスで選択します。

 $('.cls1').mousedown(function() {   
    if (!$(this).is(':checked')) {
        this.checked = confirm("Are you sure?");
        $(this).trigger("change");
    }
 });

これは、元のコードにできるだけ近づけるためであり、最適ではない可能性があります。より広い視野がなければ、それを判断するのは困難です。クライアント側でチェックボックスを動的に追加する場合 (PhP での生成について話しているとは限りません)、委任されたイベントと呼ばれるものを使用するには、別のセレクターが必要になることに注意してください。

于 2013-06-11T14:54:07.720 に答える