0

フォームを送信するときに、チェックされていないチェックボックスを強調表示したい。に合計6つのチェックボックスがあり、関数の作成を開始しましたが、のチェックされていないチェックボックスに.new_orderハイライトクラスを追加する方法が少し行き詰まっています。.new_order

$('#orderconfirm').click(function () {
    if ($('.modal .modal-body .new_order :checkbox').is(':unchecked') {
        $(this).addClass('highlight');
    }
});

このコードは各チェックボックスを繰り返しますか?何かが足りないような気がします。また、このコードでは、各チェックボックスがオンになるまでボタンを無効にする必要があります。どんな助けでも素晴らしいでしょう!

4

2 に答える 2

2

:not(:checked)セレクターの最後で使用してみてください.addClass()。これを呼び出して、返されたすべてのオブジェクトにクラスを追加します。

デモ

$('#orderconfirm').click(function () {
    $('.modal .modal-body .new_order input:checkbox:not(:checked)')
        .addClass('highlight');
});
于 2013-03-26T23:52:27.783 に答える
2

これは、次のメソッドの動作するjsFiddleです。

jQueryのeach()を使用してクラスを反復処理し、CSSクラスを条件に一致する要素に追加できます。

$('#orderconfirm').click(function () {
  $('.new_order').each(function(){
     if($(this).prop('checked') === false) {
        $(this).addClass('highlight');
     }
  });
});
于 2013-03-26T23:58:40.617 に答える