Есть ли лучший способ сделать это:Как узнать, установлен ли флажок или нет, jquery?
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
?
Есть ли лучший способ сделать это:Как узнать, установлен ли флажок или нет, jquery?
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
?
Вы можете использовать :checked selector
var IsC = $('input[type=checkbox]').is(":checked");
Или:
var IsC = $('input[type=checkbox]:checked').length>0;
'.is()' также возвращает 'true', если хотя бы один проверяется. http://api.jquery.com/is/ – nbrooks
$("input[type=checkbox]").is(":checked")
Один из способов заключается в использовании решение, отправленный dystroy.
Другим является использование метода prop
вместо attr
. Проверьте примеры на http://api.jquery.com/prop/
elem.checked
// true (Boolean) Will change with checkbox state
$(elem).prop("checked")
// true (Boolean) Will change with checkbox state
elem.getAttribute("checked")
// "checked" (String) Initial state of the checkbox; does not change
$(elem).attr("checked") //(1.6)
// "checked" (String) Initial state of the checkbox; does not change
$(elem).attr("checked") //(1.6.1+)
// "checked" (String) Will change with checkbox state
$(elem).attr("checked") //(pre-1.6)
// true (Boolean) Changed with checkbox state
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
так же, как просто сказать:
var IsC = $('input[type=checkbox]').attr("checked") == "checked";
==
так будет возвращать true
или false
. (Чисто Javascript изменение)
Оптимизация JQuery (с точки зрения количества символов, по крайней мере) является:
var IsC = $('input:checkbox').is(':checked');
//returns true if at least one checkbox in the document is checked
Вы можете добавить область для сравнения, рассказав селектор, где следует ввести:
var IsC = $('#myForm input:checkbox').is(':checked');
Вы должны уточнить, что вы хотите проверить. Вы хотите знать, где установлен флажок, или установлен ли конкретный? Ваш код проверяет только первый флажок (это нормально, если у вас не более одного). Но кроме этого я совершенно уверен, что это было задано здесь ... –
Возможный дубликат [JQuery - отметьте, установлен ли флажок] (http://stackoverflow.com/questions/2204250/jquery-check-if- checkbox-is-checked) – rlemon
Любой, кто имеет репутацию 1k или выше, должен стыдиться ответить на этот вопрос ... вероятно, один из наиболее часто задаваемых вопросов .. вы просто отвечаете за ферму – rlemon