有没有更好的方法来做到这一点:
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
?
有没有更好的方法来做到这一点:
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
?
您可以使用:checked 选择器
var IsC = $('input[type=checkbox]').is(":checked");
或者 :
var IsC = $('input[type=checkbox]:checked').length>0;
$("input[type=checkbox]").is(":checked")
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
和刚才说的一样:
var IsC = $('input[type=checkbox]').attr("checked") == "checked";
因为==
将返回true
or 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');
一种方法是使用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