4

私はこのラジオボタンのセットを持っています、例えば

radio 1
radio 2
radio 3
radio 4

およびチェックボックス。

checkbox 1

私が達成したかったのは、ラジオ1またはラジオ3のいずれかをクリックすると、チェックボックス1がオンになります。チェックボックスがオンになっていて、ラジオ2またはラジオ4のいずれかをクリックすると、チェックボックスがオフになります。

すでにいくつかのコードを実装していますが、ラジオ1をクリックするとチェックボックスがオンになりますが、ラジオ3をクリックするとチェックボックスがオフになるという不具合があります。

おそらく、ラジオ1をクリックするとチェックが入り、ラジオ3をクリックしてもチェックボックスをオフにしないでください。

これが私のコードです:

jQuery('#radio1 input:radio, #radio3 input:radio').click(function(){
    var checkbox = jQuery('#checkbox1');
    checkbox.attr('checked', !checkbox.attr('checked'));
});
4

3 に答える 3

3

HTMLコード:

Radio1 :<input type="radio" id="radio1" name="radio"/><br>
Radio2 :<input type="radio" id="radio2" name="radio"/><br>
Radio3 :<input type="radio" id="radio3" name="radio"/><br>
Radio4 :<input type="radio" id="radio4" name="radio"/><br>
Checkbox :<input type="checkbox" id="checkbox1"/>

jQueryコード:

 jQuery('#radio1 , #radio3').click(function(){      
jQuery('#checkbox1').attr('checked', true);   
 });        
jQuery('#radio2 , #radio4').click(function(){      
 jQuery('#checkbox1').attr('checked', false);  
 }); 

ライブデモ:

http://jsfiddle.net/hQbpZ/

于 2012-05-04T04:59:17.983 に答える
2
$('input[type="radio"]').click(function(){
   var checkbox = $('#checkbox1');
   switch(this.id){
      case 'radio1':
      case 'radio3':
      checkbox.attr('checked', true);
      break;

      case 'radio2':
      case 'radio4':
      checkbox.attr('checked', false);
      break;
   }
});
于 2012-05-04T04:50:49.020 に答える
1
jQuery('#radio1, #radio3').click(function(){
    jQuery('#checkbox1').prop('checked', true);
});

jQuery('#radio2, #radio4').click(function(){
    jQuery('#checkbox1').prop('checked', false);
});

あなたは他の多くの方法でそれを行うことができますが。もう1つの例:

jQuery(':radio').change(function(){
    var toCheck = this.id == 'radio1' || this.id == 'radio3'; 
    jQuery('#checkbox1').prop('checked', toCheck);
});

デモ(マークアップは@Matrixから取得)

于 2012-05-04T04:50:52.920 に答える