使用jquery检查嵌套复选框

时间:2015-01-14 11:45:50

标签: javascript jquery html html5

我在使用jquery的html5上wirking。我想使用jquery根据条件选中复选框。实际上我的复选框嵌套在一个 标签中。相应的 是一个主 标签的子项。实际上我正在尝试循环主或者父 用于查找子项和子嵌套复选框。但即使条件也为真,我也无法选中复选框。

我已尝试使用以下代码来实现我的目标,请帮助我。

<div class="hello">    
<div class="a">
    <input type="checkbox"  class="checkbox1" value="a"/>
    <span class="s">a</span>
</div>
<div class="a">
<input type="checkbox"  class="checkbox11" value="b"/>
    <span class="s">b</span>
</div>
<div class="a">
<input type="checkbox"  class="checkbox1" value="c"/>
    <span class="s">c</span>
</div>
<div  class="a">
<input type="checkbox"  class="checkbox1" value="d"/>
    <span class="s">d</span>
</div>

我的脚本如下所示

$('document').ready(function(){
var stri='';
    stri='a,b';

    var array=[];
    array=stri.split(',');


    $('.hello').children('div').each(function () {     

        var compare=$('.hello').children().has('.checkbox11').text();


             for(var j=0;j<array.length;j++)  
             {
                 alert(compare+" and"+array[j]);
                 alert(compare==array[j]);
                 if(compare==array[j]){
                    $('.hello').children().has('.checkbox11').checked=true;    
                 }
             }

    });
});

1 个答案:

答案 0 :(得分:0)

我不太确定你要做什么,但看看这个

首先,这是一种不推荐的

$('document').ready(function() {});

请改用:

$(function() {});

如果您使用的是jQuery,请使用它。你可以找到这样的元素:

var $hello = $('.hello'); // parent div
var $checkboxes = $hello.find('input[type="checkbox"]');

您可以循环所有复选框,如下所示:

$checkboxes.each(function() {
    var $checkbox = $(this);   
    var text      = $checkbox.next().text();
});

如果要检查数组中是否存在值,可以使用$.inArray

if ($.inArray(text, array) > -1)

您可以像这样设置checked属性:

$checkbox.attr('checked', true);