Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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_Html_Radio Button - Fatal编程技术网

Javascript 如何取消选择单选按钮并在单击时重新选择默认按钮?

Javascript 如何取消选择单选按钮并在单击时重新选择默认按钮?,javascript,html,radio-button,Javascript,Html,Radio Button,基本上我想要三个单选按钮。默认情况下会选择第一个。单击第二个,它将变为选中状态。但是如果您再次单击第二个,在它被选中之后,我希望它重新选择第一个。第二个的相同行为也适用于第三个。您可以使用css选择单选按钮并在那里执行任何样式 input[type=“radio”]:选中+标签{font-weight:bold;} 收音机1 第二台 单选3您可以使用css选择单选按钮并在那里执行任何样式 input[type=“radio”]:选中+标签{font-weight:bold;} 收音机1 第二

基本上我想要三个单选按钮。默认情况下会选择第一个。单击第二个,它将变为选中状态。但是如果您再次单击第二个,在它被选中之后,我希望它重新选择第一个。第二个的相同行为也适用于第三个。

您可以使用css选择单选按钮并在那里执行任何样式

input[type=“radio”]:选中+标签{font-weight:bold;}
收音机1
第二台

单选3
您可以使用css选择单选按钮并在那里执行任何样式

input[type=“radio”]:选中+标签{font-weight:bold;}
收音机1
第二台

收音机3
使用以下代码来完成您的要求

function CheckDefault()
{
if(this.checked){ document.getElementById('rad1').checked=true;}
}


<input id="rad1" type="radio" name="rad"/><label for="rad1">Radio 1</label>
<input id="rad2" type="radio" name="rad" onclick="CheckDefault()"/><label for="rad2">Radio 2</label>
<input id="rad3" type="radio" name="rad" onclick="CheckDefault()"/><label for="rad3">Radio 3</label>
函数CheckDefault()
{
if(this.checked){document.getElementById('rad1').checked=true;}
}
第一台
第二台
第三台

使用下面的代码来完成您的需求

function CheckDefault()
{
if(this.checked){ document.getElementById('rad1').checked=true;}
}


<input id="rad1" type="radio" name="rad"/><label for="rad1">Radio 1</label>
<input id="rad2" type="radio" name="rad" onclick="CheckDefault()"/><label for="rad2">Radio 2</label>
<input id="rad3" type="radio" name="rad" onclick="CheckDefault()"/><label for="rad3">Radio 3</label>
函数CheckDefault()
{
if(this.checked){document.getElementById('rad1').checked=true;}
}
第一台
第二台
第三台

我已使用单选按钮
onclick
事件功能逻辑来获得所需的功能:

<p>Select your choice:</p>
<div>
    <input type="radio" id="choice1" name="val" value="1" onclick="app(this.value)">
    <label for="choice1">First</label>
    <input type="radio" id="choice2" name="val" value="2" onclick="app(this.value)">
    <label for="choice2">Second</label>
    <input type="radio" id="choice3" name="val" value="3" onclick="app(this.value)">
    <label for="choice3">Third</label>
</div>
<script src="app.js"></script>

我已使用单选按钮
onclick
事件功能逻辑来获得所需的功能:

<p>Select your choice:</p>
<div>
    <input type="radio" id="choice1" name="val" value="1" onclick="app(this.value)">
    <label for="choice1">First</label>
    <input type="radio" id="choice2" name="val" value="2" onclick="app(this.value)">
    <label for="choice2">Second</label>
    <input type="radio" id="choice3" name="val" value="3" onclick="app(this.value)">
    <label for="choice3">Third</label>
</div>
<script src="app.js"></script>
这是我的解决方案(不管您使用了多少个复选框,这段代码都可以使用):

js:

var curr = '';
var prev = '';

$('input').on('click', function(){

  if( curr == $(this).attr('id') ){

    if( prev != '' ){

        $("#"+prev).prop('checked',true);

        prev = '';

    }

    return;

  }

  prev = curr;

  curr = $(this).attr('id');

});
<input id="rad1" value="1" type="radio" name="rad"/><label for="rad1">Radio 1</label>
<input id="rad2" value="2" type="radio" name="rad"/><label for="rad2">Radio 2</label>
<input id="rad3" value="3" type="radio" name="rad"/><label for="rad3">Radio 3</label>
html:

var curr = '';
var prev = '';

$('input').on('click', function(){

  if( curr == $(this).attr('id') ){

    if( prev != '' ){

        $("#"+prev).prop('checked',true);

        prev = '';

    }

    return;

  }

  prev = curr;

  curr = $(this).attr('id');

});
<input id="rad1" value="1" type="radio" name="rad"/><label for="rad1">Radio 1</label>
<input id="rad2" value="2" type="radio" name="rad"/><label for="rad2">Radio 2</label>
<input id="rad3" value="3" type="radio" name="rad"/><label for="rad3">Radio 3</label>
收音机1
第二台
第三台

这是我的解决方案(不管您使用了多少个复选框,此代码都有效):

js:

var curr = '';
var prev = '';

$('input').on('click', function(){

  if( curr == $(this).attr('id') ){

    if( prev != '' ){

        $("#"+prev).prop('checked',true);

        prev = '';

    }

    return;

  }

  prev = curr;

  curr = $(this).attr('id');

});
<input id="rad1" value="1" type="radio" name="rad"/><label for="rad1">Radio 1</label>
<input id="rad2" value="2" type="radio" name="rad"/><label for="rad2">Radio 2</label>
<input id="rad3" value="3" type="radio" name="rad"/><label for="rad3">Radio 3</label>
html:

var curr = '';
var prev = '';

$('input').on('click', function(){

  if( curr == $(this).attr('id') ){

    if( prev != '' ){

        $("#"+prev).prop('checked',true);

        prev = '';

    }

    return;

  }

  prev = curr;

  curr = $(this).attr('id');

});
<input id="rad1" value="1" type="radio" name="rad"/><label for="rad1">Radio 1</label>
<input id="rad2" value="2" type="radio" name="rad"/><label for="rad2">Radio 2</label>
<input id="rad3" value="3" type="radio" name="rad"/><label for="rad3">Radio 3</label>
收音机1
第二台
第三台

谢谢您的回答!似乎有几种方法可以产生预期的结果,但是选择使用一种方法比使用另一种方法有什么好处呢?你必须找出哪种方法最适合你的应用。功能性、可维护性和可读性等因素很重要。此外,访问该页面的其他人可能知道什么可能是更好的解决方案。还有,这是一个惯例(我想)。谢谢你的回答!似乎有几种方法可以产生预期的结果,但是选择使用一种方法比使用另一种方法有什么好处呢?你必须找出哪种方法最适合你的应用。功能性、可维护性和可读性等因素很重要。此外,访问该页面的其他人可能知道什么可能是更好的解决方案。而且,我认为这是一个惯例。