0

このように、ページに複数のクラスを持つ多くの 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>

「all」チェックボックスがオンの場合とその逆の場合に、他のすべてのチェックボックスをオフにする JQuery もあります。

 $(document).ready(function()
{
$(".checkall").click(function() {
$(".checkvalue").attr('checked', false);
});

$(".checkvalue").click(function() {
$(".checkall").attr('checked', false);
});
 });

そして今、私の問題: 1 つtestlayerのチェックボックスをチェックすると、このクラスの他のすべての div のチェックボックスもステータスを変更します。しかし、クリックしたチェックボックスが配置されている現在の div にのみイベントが必要です。

何かを定義する必要があると思いますが、(this)方法がわかりません... JQueryの初心者で申し訳ありません。助けてくれてありがとう。

4

1 に答える 1

0

http://jsfiddle.net/YmcqJ/をご覧ください。

$(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);
});
 });
于 2013-05-27T11:02:35.460 に答える