有没有更好的方式来做到这一点:如何知道复选框是否被选中,jquery?
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
?
有没有更好的方式来做到这一点:如何知道复选框是否被选中,jquery?
var IsC = $('input[type=checkbox]').attr("checked") == "checked" ? true : false;
?
var IsC = $('input[type=checkbox]').is(":checked");
或者:
var IsC = $('input[type=checkbox]:checked').length>0;
'.is()'如果至少也返回'true'一个被检查。 http://api.jquery.com/is/ – nbrooks 2012-07-11 11:09:10
$("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');
你必须更精确地测试你想测试的内容。你想知道哪里有复选框被选中或者是否检查了特定的复选框?你的代码只会测试第一个是否被选中(只要你没有超过一个就可以)。但除此之外,我很确定这是在这里之前... – 2012-07-11 11:02:34
可能重复的[jquery - 检查复选框被选中](http://stackoverflow.com/questions/2204250/jquery-check-if- checkbox-is-checked) – rlemon 2012-07-11 11:03:52
任何1k代表或更高的人都应该羞于回答这个......可能是最常问的问题之一..你只是代表农业 – rlemon 2012-07-11 11:04:49