我在使用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;
}
}
});
});
答案 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);