JavaScript单选按钮
我有几个单选按钮,当我选择其中一个时,我还必须检查另一个 例如,如果我在JavaScript单选按钮,javascript,jquery,html,Javascript,Jquery,Html,我有几个单选按钮,当我选择其中一个时,我还必须检查另一个 例如,如果我在单选按钮上选择了yes,则另一个单选按钮必须自动选中no。 我尝试了一些脚本,但似乎不起作用 有人知道解决办法吗?我是JS的新手 提前谢谢 我不太确定您想要实现什么,但通过使用“name”属性,这会自动发生……当您检查一个收音机时……其他同名收音机会被设置为unchecked <input type="radio" name="someoption" value="0" />0 <input type="
单选按钮上选择了yes,则另一个单选按钮必须自动选中no。
我尝试了一些脚本,但似乎不起作用
有人知道解决办法吗?我是JS的新手
提前谢谢 我不太确定您想要实现什么,但通过使用“name”属性,这会自动发生……当您检查一个收音机时……其他同名收音机会被设置为unchecked
<input type="radio" name="someoption" value="0" />0
<input type="radio" name="someoption" value="1" />1
<input type="radio" name="someoption" value="2" />2
0
1.
2.
检查上述任何一项都会导致其他2项被取消选中
除非您可能是指复选框或多个选项集?javascript:
$('#myradio1').bind('change', function () {
$('#myradio3').attr('checked', 'checked');
});
html
有关如下HTML标记,请参见位于的工作示例:
<div>
<input type="radio" name="one" value="yes"> yes
<input type="radio" name="one" value="no"> no
</div>
<div>
<input type="radio" name="two" value="yes"> yes
<input type="radio" name="two" value="no"> no
</div>
演示:
是
否
是
否
//剧本
$(“输入[name='group_1']”)。单击(函数(){
如果(此.value==“是”){
$(“input#r4”).attr(“checked”,true);
}否则{
$(“input#r3”).attr(“checked”,true);
}
});
$(“输入[name='group_2']”)。单击(函数(){
如果(此.value==“是”){
$(“input#r2”).attr(“checked”,true);
}否则{
$(“input#r1”).attr(“checked”,true);
}
});
使用jquery:
$("#radio1").change(function() {
$("#radio2").removeAttr("checked");
});
我已经为此制作了一个纯JS解决方案(没有库)
是
不
对
不
var g1=document.getElementsByName('g1');//存储g1元素
var g2=document.getElementsByName('g2');//存储g2元素
//句柄单击功能
功能收音机检查事件(obj,f){
if(对象添加列表器){
对象addEventListener('click',f,false);
}else if(对象附件){
对象附件('onclick',f);
}
}
//当你点击g1时,是的
无线电检查事件(g1[0],函数(){
//将g1 no设置为选中
g2[1]。setAttribute('checked','checked');
});
为了遵守标准,每次只能检查每组中的一个单选按钮。@陌生人在晚上,可能单选按钮的名称不同。
s。对我来说,是的听起来像是两组选项,一个是/否,另一个是/否。。。预感我有几个单选按钮,当我选择其中一个时,我还必须选中另一个。
当我在演示中单击否
时,它不会选择是
s.:/@德里克,它应该选择“是”吗?从逻辑上考虑,“是”对其他人意味着“不”,但“不”对其他人并不意味着“是”。这就是为什么我没有添加这个功能。嗯。。。我不确定他在问题中真正想做什么。@Derek我也是。让我们看看哪个解决方案最合适。如果我的看法是错误的,我只会删除一个答案并解决它的问题:)@WaseemSabjee你最好编辑这个答案,而不是发布另一个。当你点击“添加另一个答案”时,你没有看到警告信息吗?我认为这是一个澄清的提示…如果采取错误的方式,我表示歉意…不需要政治。谢谢你的回答。这个适合我。如果我对此有其他问题,我会在这里发布。再次感谢!
$(":radio").on("change", function() {
var that = this;
$(":radio").filter(function() {
return this.value == "no" && this.name != that.name;
}).prop("checked", true);
});
<!--HTML-->
<input type="radio" name="group_1" value="yes" id="r1">Yes<br>
<input type="radio" name="group_1" value="no" id="r2">No<br>
<br>
<input type="radio" name="group_2" value="yes" id="r3">Yes<br>
<input type="radio" name="group_2" value="no" id="r4">No<br>
//Script
$("input[name='group_1']").click(function(){
if(this.value=="yes"){
$("input#r4").attr("checked",true);
}else{
$("input#r3").attr("checked",true);
}
});
$("input[name='group_2']").click(function(){
if(this.value=="yes"){
$("input#r2").attr("checked",true);
}else{
$("input#r1").attr("checked",true);
}
});
$("#radio1").change(function() {
$("#radio2").removeAttr("checked");
});
<input type="radio" name="g1" value="1" />Yes
<br />
<input type="radio" name="g1" value="0" />No
<br /><br />
<input type="radio" name="g2" value="1" />Yes
<br />
<input type="radio" name="g2" value="0" />No
<script type="text/javascript">
var g1 = document.getElementsByName('g1'); // store g1 elements
var g2 = document.getElementsByName('g2'); // store g2 elements
// handle click functionality
function radio_checked_event(obj, f) {
if(obj.addEventListener) {
obj.addEventListener('click', f, false);
} else if(obj.attachEvent) {
obj.attachEvent('onclick', f);
}
}
// when you click on g1 yes
radio_checked_event(g1[0], function() {
//set g1 no to checked
g2[1].setAttribute('checked', 'checked');
});
</script>