1

6 つのフォームがあり、各フォームには 2 つのラジオ ボタンがあります。

一度に 1 つのラジオ ボタンしか選択できないユーザー エクスペリエンスが必要です。そのため、別のフォームにトラバースしてラジオ ボタンをチェックしたときです。他のすべてのラジオ ボタンは選択解除されます。

これは、これまでの試みで私が持っているものです。

$(document).ready(function () {                 
  $('input[type=radio]').prop('checked', false);

  $('input[type=radio]').each(function (i) {                        
    $(this).not($('radio:checked')).prop('checked', false);                     
  });                   
});

私の考えは、最初にすべてのボタンの選択を解除することでした。しかし、その後、私は自分の論理で混乱しています。

私は言いたい

このラジオがチェックされている場合は、他のすべてのラジオのチェックを外します。

英語では一文に収まりますが、どうすればjqueryに入れることができますか?

4

3 に答える 3

5
$('input[type=radio]').on('change', function(){
    $('input[type=radio]').not(this).prop('checked', false);
});

フィドル

于 2012-07-27T22:18:04.633 に答える
1

基本的に、ラジオ ボタンを「クリック解除」することはできません。そのため、「クリック」イベントですべてのラジオ要素の選択を解除し、クリックされたものを選択するだけです。

$('input[type=radio]').on('click',function(e){
   $('input[type=radio]').prop('checked','');
   $(this).prop('checked','checked');
   e.preventDefault();
});

jsフィドル

于 2012-07-27T22:18:16.163 に答える
0

これを試してください (デモを参照してください: http://jsfiddle.net/3xD7V/1/ ):

$(document).ready(function () {
  $('input[type=radio]').prop('checked', false);
  $('input[type=radio]:first').prop('checked', true)

  $('input[type=radio]').click(function (event) {
    $('input[type=radio]').prop('checked', false);
    $(this).prop('checked', true);

    event.preventDefault();
  });
});
于 2012-07-27T22:28:32.420 に答える