我有很多DIV,页面中有多个类。
<div class="testlayer">
<label for="test1"><input name="test" id="test1" value="1" class="checkvalue" type="checkbox"></label>
<label for="test2"><input name="test" id="test2" value="2" class="checkvalue" type="checkbox"></label>
<label for="test3"><input name="teat" id="test3" value="all" class="checkall" type="checkbox"></label>
</div>
<div class="testlayer">
<label for="test11"><input name="test" id="test11" value="1" class="checkvalue" type="checkbox"></label>
<label for="test21"><input name="test" id="test21" value="2" class="checkvalue" type="checkbox"></label>
<label for="test31"><input name="teat" id="test31" value="all" class="checkall" type="checkbox"></label>
</div>
还有一个JQuery取消选中所有其他复选框,如果选中&#34; all&#34; -checkbox,反之亦然。
$(document).ready(function()
{
$(".checkall").click(function() {
$(".checkvalue").attr('checked', false);
});
$(".checkvalue").click(function() {
$(".checkall").attr('checked', false);
});
});
现在我的问题是:如果我在一个testlayer
中选中一个复选框,则此类的所有其他div中的复选框也会更改状态。
但我只想在我点击的复选框所在的当前div上有事件。
我想我必须用(this)
来定义一些内容,但我不知道如何...抱歉成为JQuery的新手,感谢你的帮助。
答案 0 :(得分:0)
$(document).ready(function()
{
$(".checkall").click(function() {
$(this).closest('div').find(".checkvalue").attr('checked', false);
});
$(".checkvalue").click(function() {
$(this).closest('div').find(".checkall").attr('checked', false);
});
});