web-dev-qa-db-ja.com

チェックされていないチェックボックスをjqueryで見つける

チェックボックスのリストがあります。

<input type="checkbox" name="answer" id="id_1' value="1" />
<input type="checkbox" name="answer" id="id_2' value="2" />
...
<input type="checkbox" name="answer" id="id_n' value="n" />

チェックされたチェックボックスのすべての値を集めることができます。私の質問は、チェックされていないチェックボックスのすべての値をどのように取得できるかということです。私は試した:

$("input:unchecked").val();

未チェックのチェックボックスの値を取得するために、しかし私は得た:

構文エラー、認識されない式:チェックされていません。

誰かがこの問題に光を当てることができますか?ありがとうございました!

177
Gary

エラーメッセージが示すように、jQueryには:uncheckedセレクターは含まれていません。
代わりに、:checkedセレクタを反転する必要があります。

$("input:checkbox:not(:checked)")
392
SLaks

$("input:checkbox:not(:checked)")未チェックのボックスが表示されます。

24
dave
$.extend($.expr[':'], {
        unchecked: function (obj) {
            return ((obj.type == 'checkbox' || obj.type == 'radio') && !$(obj).is(':checked'));
        }
    });


$("input:unchecked")
10
Thulasiram

また、純粋なjsを使って次のようにすることもできます。

var matches = document.querySelectorAll('input[type="checkbox"]:not(:checked)');
2
Pavel Griza

あなたはこのように使うことができます:

$(":checkbox:not(:checked)")
2
Ehsan
$("input[type='checkbox']:not(:checked):not('\#chkAll\')").map(function () { 
   var a = ""; 
   if (this.name != "chkAll") { 
      a = this.name + "|off"; 
   } 
   return a; 
}).get().join();

これにより、チェックされていないチェックボックスがすべて取得され、すべてのチェックボックスをオンまたはオフにするために使用する "chkAll"チェックボックスが除外されます。チェックボックスがオンの値を私に与えるので私は私がデータベースにどんな値を渡しているか知りたいので私はこれらをオフに設定します。

//looking for unchecked checkboxes, but don’t include the checkbox all that checks or unchecks all checkboxes
//.map - Pass each element in the current matched set through a function, producing a new jQuery object containing the return values.

//.get - Retrieve the DOM elements matched by the jQuery object.
//.join - (javascript) joins the elements of an array into a string, and returns the string.The elements will be separated by a specified separator. The default separator is comma (,).
2
cdub
$(".clscss-row").each(function () {
if ($(this).find(".po-checkbox").not(":checked")) {
               // enter your code here
            } });
0
UTHIRASAMY

classで選択するには、次のようにします。

$("input.className:checkbox:not(:checked)")
0