Javascript 如何取消选择单选按钮并在单击时重新选择默认按钮?
基本上我想要三个单选按钮。默认情况下会选择第一个。单击第二个,它将变为选中状态。但是如果您再次单击第二个,在它被选中之后,我希望它重新选择第一个。第二个的相同行为也适用于第三个。您可以使用css选择单选按钮并在那里执行任何样式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 第二
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
第二台
第三台
谢谢您的回答!似乎有几种方法可以产生预期的结果,但是选择使用一种方法比使用另一种方法有什么好处呢?你必须找出哪种方法最适合你的应用。功能性、可维护性和可读性等因素很重要。此外,访问该页面的其他人可能知道什么可能是更好的解决方案。还有,这是一个惯例(我想)。谢谢你的回答!似乎有几种方法可以产生预期的结果,但是选择使用一种方法比使用另一种方法有什么好处呢?你必须找出哪种方法最适合你的应用。功能性、可维护性和可读性等因素很重要。此外,访问该页面的其他人可能知道什么可能是更好的解决方案。而且,我认为这是一个惯例。