有沒有更好的方式來做到這一點:如何知道複選框是否被選中,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