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

Javascript 单击单选按钮时选中复选框,javascript,jquery,checkbox,radio-button,Javascript,Jquery,Checkbox,Radio Button,比如说,我有这套单选按钮 radio 1 radio 2 radio 3 radio 4 和一个复选框 checkbox 1 我想要实现的是,当我单击收音机1或收音机3时,复选框1将被选中。如果选中该复选框,当您单击收音机2或收音机4时,该复选框将被取消选中 我已经为它实现了一些代码,但是它有一个小问题,当我单击radio 1时,它会选中复选框,但是当我单击radio 3时,它会取消选中复选框 按理说,当我点击radio 1时,它会选中,即使我点击radio 3,它也不应该取消选中复选框 这

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

radio 1
radio 2
radio 3
radio 4
和一个复选框

checkbox 1
我想要实现的是,当我单击收音机1或收音机3时,复选框1将被选中。如果选中该复选框,当您单击收音机2或收音机4时,该复选框将被取消选中

我已经为它实现了一些代码,但是它有一个小问题,当我单击radio 1时,它会选中复选框,但是当我单击radio 3时,它会取消选中复选框

按理说,当我点击radio 1时,它会选中,即使我点击radio 3,它也不应该取消选中复选框

这是我的密码:

jQuery('#radio1 input:radio, #radio3 input:radio').click(function(){
    var checkbox = jQuery('#checkbox1');
    checkbox.attr('checked', !checkbox.attr('checked'));
});
虽然你可以用很多其他的方法。还有一个例子:

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

(标记取自@Matrix)

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('#radio1 , #radio3').click(function(){      
jQuery('#checkbox1').attr('checked', true);   
 });        
jQuery('#radio2 , #radio4').click(function(){      
 jQuery('#checkbox1').attr('checked', false);  
 }); 
现场演示:

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

您建立的逻辑没有任何区别。。我认为第一个函数应该静态地将checked设置为true或false,第二个函数应该静态地将checked属性设置为与第一个函数相反的属性,而不是复制和粘贴该函数。目前,您的代码将继续切换复选框,而不管用户真正单击了什么。实际上,它更像预期的解决方案:)@Jetoox。哎呀。然后,
checkbox1
是个坏名字…:)修正了,谢谢!这不管用,伙计。我试过了,很明显你错过了“#radio1输入:radio”,但它没有work@Jetoox. 不,您可能在HTML-DOM方面有问题<代码>输入:收音机出错。我明白了。对不起我不太精通HTML-DOM。我的坏朋友。:)@杰图克斯。您可以看到演示
attr
=>“选中”与
prop
=>true。