0

jsfiddle

http://jsfiddle.net/cCBUh/2/

情報

  • 私には3つの選択肢があります。ラジオ ボタンではなく、ラベルのみをクリックします。
  • さまざまなラベルをクリックすると、さまざまなラジオ ボタンがオンになります。
  • コンソールでは、ラベルがクリックされるたびに「クリックされた」と表示されます。
  • 同じラベルを 2 回クリックすると、コンソールに「チェック済み」と表示され、既にチェック済みであることがわかります。
  • ラベルが既にチェックされている場合は、最初からのように、すべてのラジオ ボタンからチェックを外してリセットする必要があります。

問題

ラジオ ボタンを 2 回目にクリックしたときに、すべてのラジオ ボタンからチェックを外さないでください。何故ですか?解決?

HTML

<div class="panel">
    <label for="radio-1">Radio 1</label>
    <label for="radio-2">Radio 2</label>
    <label for="radio-3">Radio 3</label>
    <input type="radio" id="radio-1" name="group-1">
    <input type="radio" id="radio-2" name="group-1">
    <input type="radio" id="radio-3" name="group-1">
</div>

jQuery

jQuery(document).ready(function($) {
    $('.panel label').on( "click", function(e) {
        console.log('clicked');
        var my_id = $(this).attr('for');
        if( $('.panel #' + my_id).is(':checked') ) {
            console.log('checked');
            $('.panel input[type="radio"]').prop('checked', false);
        }
    });
});
4

1 に答える 1