Ответ 1
Как указано в сообщении об ошибке, jQuery не включает селектор :unchecked
.
Вместо этого вам нужно инвертировать селектор :checked
:
$("input:checkbox:not(:checked)")
У меня есть список флажков:
<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();
чтобы получить непроверенное значение флажка, но я получил:
Синтаксическая ошибка, непризнанное выражение: непроверено.
Кто-нибудь может пролить свет на эту проблему? спасибо!
Как указано в сообщении об ошибке, jQuery не включает селектор :unchecked
.
Вместо этого вам нужно инвертировать селектор :checked
:
$("input:checkbox:not(:checked)")
$("input:checkbox:not(:checked)")
Вы получите непроверенные поля.
$.extend($.expr[':'], {
unchecked: function (obj) {
return ((obj.type == 'checkbox' || obj.type == 'radio') && !$(obj).is(':checked'));
}
});
$("input:unchecked")
$("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 (,).
Вы можете использовать следующее:
$(":checkbox:not(:checked)")