HTML
<label for="desktop_dimension_id">Desktop dimensions:</label>
<span class="checkbox" id="desktopCheckboxId">
<span class="checkbox_value">
<input id="dc1280_800" type="checkbox" name="1280x800"> 1280x800</span>
<span class="checkbox_value">
<input id="dc1366_768" type="checkbox" name="1366x768"> 1366x768</span>
<span class="checkbox_value">
<input id="dc1920_1080" type="checkbox" name="1920x1080"> 1920x1080</span>
</span>
<br/>
<input id="desktopCheckbox" type="checkbox" name="type[]" value="1"> Desktop
JAVASCRIPT
if(jQuery('#desktopCheckboxId input[type=checkbox]:checked').length) {
document.getElementById('desktopCheckbox').checked = this.checked;
}
我想检查桌面复选框是否已选中前三个复选框中的任何一个。一直在尝试几种方法,但似乎并不是出于未知原因。那我怎么能这样做呢?
答案 0 :(得分:3)
试试这个。
$("#frmTest input[type='checkbox']").each(function(){
if($(this).is(':checked'))
{
$("#desktopCheckbox").attr("checked","checked");
return true;
}
});
答案 1 :(得分:2)
你可以这样做:
$('#desktopCheckbox').prop('checked', $('#frmTest input[type=checkbox]:checked').length > 0);
但你可能意味着要与变更事件绑定。
$('#frmTest input[type=checkbox]').change(function() {
$('#desktopCheckbox').prop('checked', $('#frmTest input[type=checkbox]:checked').length > 0);
}).change();
的 See the demo. 强> 的
答案 2 :(得分:2)
如何:演示 http://jsfiddle.net/GGEFp/ * &lt; ==将返回false
http://jsfiddle.net/D23eA/ &lt; ==将返回true
API:length
http://api.jquery.com/length/
休息符合需要:)
<强>代码强>
var atLeastOne = $('#desktopCheckboxId :checkbox:checked').length > 0;
答案 3 :(得分:1)
var chk = $('.checkbox_value input[type=checkbox]');
chk.change(function () {
$('#desktopCheckbox').prop('checked', chk.filter(':checked').length > 0);
});
<小时/> 参考文献
答案 4 :(得分:1)
你可以设置checked = true ...
if (jQuery('input[type=checkbox]:checked').length) {
document.getElementById('desktopCheckbox').checked = true;
}
(顺便说一句,你的小提琴也在寻找一个不存在的表格ID ......“frmTest”)