如果选中任何复选框,请选中复选框

时间:2013-11-22 01:52:14

标签: javascript jquery html checkbox

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;
    }

我想检查桌面复选框是否已选中前三个复选框中的任何一个。一直在尝试几种方法,但似乎并不是出于未知原因。那我怎么能这样做呢?

jsFiddle

5 个答案:

答案 0 :(得分:3)

http://jsfiddle.net/pmZ7T/

试试这个。

$("#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)

fiddle Demo

var chk = $('.checkbox_value input[type=checkbox]');
chk.change(function () {
    $('#desktopCheckbox').prop('checked', chk.filter(':checked').length > 0);
});

<小时/> 参考文献

.change()

.prop()

.filter()

答案 4 :(得分:1)

你可以设置checked = true ...

if (jQuery('input[type=checkbox]:checked').length) {
        document.getElementById('desktopCheckbox').checked = true;
    }

http://jsfiddle.net/pmZ7T/4/

(顺便说一句,你的小提琴也在寻找一个不存在的表格ID ......“frmTest”)