Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript单选按钮_Javascript_Jquery_Html - Fatal编程技术网

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>