0

チェックボックスのあるフォームがあります。ユーザーがラベルをクリックすると、カスタム チェックボックス アイコンが入れ替わります。それはうまくいきますが、フォームのチェックボックスも無効にしており、無効なものをクリックしたときにクリックイベントがトリガーされないようにします。それ、どうやったら出来るの?

JQuery:

$('input[type=checkbox] + label').click(function() {
  $(this).toggleClass('checkbox-pressed');
});

HTML:

<input type="checkbox" id="A"><label for="A">Option 1</label>
<input disabled type="checkbox" id="B"><label for="B">Option 2 - don't trigger JQ</label>
4

3 に答える 3

6

:not(:disabled)無効になっていないチェックボックスのみを選択するために使用します。

$('input[type=checkbox]:not(:disabled)').click(function() {
    ...
});

ドキュメンテーション::not()および:disabled


むしろ使用する必要があります.on()。そうしないとdisabled、ページが最初にロードされた後になるチェックボックスでは機能しません (たとえば、ユーザーのアクションのため)。

$(document).on('click', 'input[type=checkbox]:not(:disabled)', function() {
    ...
});
于 2013-07-19T14:27:13.547 に答える
0

使いやすいでしょう: jQueryでチェック

詳細については、こちらをご覧ください

于 2013-07-19T14:27:26.277 に答える