与id FILTER匹配的Jquery复选框

时间:2013-02-25 03:40:13

标签: jquery filter replace prop

<div class="posts">
<input id="chkbox_0" type="checkbox" value="chck_0" name="list" style="float:left;height:95px; width:15px;">
<div class="title box " onclick="thisimg(0,252250)">
<div class="click" style="float:right;">
Clicks
<br>
<div id="count_0"> 0 </div>
</div>
</div>
</div>

<div class="posts">
<input id="chkbox_1" type="checkbox" value="chck_1" name="list" style="float:left;height:95px; width:15px;">
<div class="title box " onclick="thisimg(0,252250)">
<div class="click" style="float:right;">
Clicks
<br>
<div id="count_1"> 0 </div>
</div>
</div>
</div>

<div class="posts">
<input id="chkbox_2" type="checkbox" value="chck_2" name="list" style="float:left;height:95px; width:15px;">
<div class="title box " onclick="thisimg(0,252250)">
<div class="click" style="float:right;">
Clicks
<br>
<div id="count_2"> 6 </div>
</div>
</div>
</div>

<div class="posts">
    <input id="chkbox_3" type="checkbox" value="chck_3" name="list" style="float:left;height:95px; width:15px;">
<div class="title box " onclick="thisimg(0,252250)">
<div class="click" style="float:right;">
Clicks
<br>
<div id="count_3"> 0 </div>
</div>
</div>
</div>

我已经为此工作了7天没有成功,所以我假设我不正确地问这个问题。所以我要做的是检查对应于点击元素索引的方框是0.不是索引0但是数字为零。我有4个相同代码的片段,但索引除外。有时点击次数多为ZERO,这是重要的事情。我希望索引的复选框与ZERO的点击相同。这就是我试过的:

var allZeros = $("[id^=count]:contains(0)").css('color', 'red').each(function(i) {
  $("input:checkbox").trigger('click');
});

这会检查所有方框。

我也试过

$("input:checkbox").eq(i).trigger('click');
$("input:checkbox").trigger('click').attr('id');  

两者都使用allZeros索引并检查该数量的框。例如,在示例中,我有3个allZeros,因此它复选了前3个,但它应该做的是复选框前2个ZEROS,跳过一个有6次点击,复选框是第3个ZERO。

您可以在此处查看页面:http://www.zyngapokerchipsfree.com/页面上有60到70个项目。我希望这更清楚。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用匹配元素的ID。

var $c = $("input[type=checkbox]");

$("div[id^=count]:contains(0)").css('color', 'red').each(function(i) {
    var id = this.id.replace('count', 'chkbox');
    $c.filter('[id="'+ id +'"]').prop('checked', true);
});

如果您要选择其文字内容仅为0而非1020,...的元素,您可以使用filter方法:< / p>

$("div[id^=count]").filter(function(){
   return $.trim( $(this).text() ) === '0';
}).css('color', 'red').each(function(i) {
    var id = this.id.replace('count', 'chkbox');
    $c.filter('[id="'+ id +'"]').prop('checked', true);
});

答案 1 :(得分:0)

要勾选您需要使用的复选框

$('checkbox').prop('checked', 'checked')

在你的情况下

var allZeros = $("div[id^=count]:contains(0)").css('color', 'red').each(function(){
    var id = $(this).attr('id').substring(6);
    $('#chkbox_'+id).prop('checked', 'checked')
})

演示:Fiddle

相关问题