1

一連の div をクリックしているときに、チェックボックスをオンまたはオフにしようとしています。たとえば、3 つの div のリストがあり、各 div は 1 つのチェック ボックスに対応しています。1 つの div を選択すると、ボックスをチェックし、前のクリックで選択したボックスのチェックを外す必要があります。

これが私のhtmlです

<div class="trigger">1</div>
<div class="trigger">2</div>
<div class="trigger">3</div>

<input id="one" type="checkbox">
<input id="two" type="checkbox">
<input id="three" type="checkbox">

とjs

$('.trigger').click(function(){
    $('input[type=checkbox]').attr('checked', false);
    $('input[type=checkbox]').eq($(this).index('.trigger')).attr('checked', true);
});

プロセスは最初のループで正常に実行され、最初の反復後に動作を停止します。これがフィドルです。私が間違っていることを理解できません

http://jsfiddle.net/sghoush1/GS7p8/5/

4

2 に答える 2

1

attr の代わりに prop を使用してみてください

$('input[type=checkbox]').prop('checked', false);
$('input[type=checkbox]').eq($(this).index('.trigger')).prop('checked', true);
于 2013-07-29T05:35:54.233 に答える
1

.attr()の代わりに.prop( ) を試してください

$('.trigger').click(function(){
    $('input[type=checkbox]').prop('checked', false);
    $('input[type=checkbox]').eq($(this).index('.trigger')).prop('checked', true);
});

デモ:フィドル

于 2013-07-29T05:35:35.793 に答える