jsfiddle
情報
- 私には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);
}
});
});