繁体   English   中英

单击单选按钮时选中复选框

[英]Make a checkbox checked when a radio button is clicked

我有这套单选按钮,比如说

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'));
});

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/

$('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;
   }
});
jQuery('#radio1, #radio3').click(function(){
    jQuery('#checkbox1').prop('checked', true);
});

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

虽然你可以通过许多其他方式来做到这一点。 还有一个例子:

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

演示 (标记来自@Matrix)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM