我有这组单选按钮,比如说
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'));
});
答案 0 :(得分:3)
HTML CODE:
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 CODE:
jQuery('#radio1 , #radio3').click(function(){
jQuery('#checkbox1').attr('checked', true);
});
jQuery('#radio2 , #radio4').click(function(){
jQuery('#checkbox1').attr('checked', false);
});
现场演示:
答案 1 :(得分: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;
}
});
答案 2 :(得分:1)
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);
});
Demo(标记取自@Matrix)