是否有一种方式,当一个单选按钮从顶部行被选中,然后所有底部的不检查,反之亦然?当从底部行选择单选按钮时,所有顶部按钮都被设置为false。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<div id="base-1">
Forward
<form name="group_A" style="margin-top:5px">
<input value="0" type="radio" name="button" checked/>
<span> 0    </span>
<input value="1" type="radio" name="button"/>
<span> 1    </span>
<input value="2" type="radio" name="button"/>
<span> 2    </span>
<input value="3" type="radio" name="button"/>
<span> 3    </span>
</form>
</div>
<hr>
<div id="base-2">
Backward
<form name="group_B" style="margin-top:5px">
<input value="0" type="radio" name="button"/>
<span> 0    </span>
<input value="1" type="radio" name="button"/>
<span> 1    </span>
<input value="2" type="radio" name="button"/>
<span> 2    </span>
<input value="3" type="radio" name="button"/>
<span> 3    </span>
</form>
</div>
</head>
<body>
</body>
</html>
发布于 2019-04-15 20:51:28
好的。使用jQuery可以很容易地做到这一点。下面的脚本使用相同的name属性取消检查文档中的所有其他单选按钮。
这是通过将事件绑定到所有单选按钮的change事件来实现的。此事件将检查单选按钮是否被更改为checked,如果是,它将搜索具有相同name属性的所有其他单选按钮,并使用.prop()将其checked属性更改为false。
$("input[type=radio]").change(function(){
if($(this).prop("checked"))
{
$("body").find("input[type=radio][name="+$(this).attr("name")+"]").prop("checked", false);
$(this).prop("checked", true);
}
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="base-1">
Forward
<form name="group_A" style="margin-top:5px">
<input value="0" type="radio" name="button" checked/>
<span> 0    </span>
<input value="1" type="radio" name="button"/>
<span> 1    </span>
<input value="2" type="radio" name="button"/>
<span> 2    </span>
<input value="3" type="radio" name="button"/>
<span> 3    </span>
</form>
</div>
<hr>
<div id="base-2">
Backward
<form name="group_B" style="margin-top:5px">
<input value="0" type="radio" name="button"/>
<span> 0    </span>
<input value="1" type="radio" name="button"/>
<span> 1    </span>
<input value="2" type="radio" name="button"/>
<span> 2    </span>
<input value="3" type="radio" name="button"/>
<span> 3    </span>
</form>
</div>
<h3>This one shouldn't change</h3>
<input type="radio" name="otherbutton">
</body>
</html>
发布于 2019-04-15 20:55:18
使用JQuery,这可以通过几行代码来完成。
$('#base-2 input').click(function() {
$('#base-1 input').prop('checked', false)
})
$('#base-1 input').click(function() {
$('#base-2 input').prop('checked', false)
})另外,我建议将您的内容从head中移到body中。
希望这能帮上忙!
发布于 2019-04-15 21:16:05
清理完代码后,我将使用两个不同的JavaScript onclick函数来提供所需的结果。在清理代码时,我们需要用唯一的id标识每个单选按钮obj。我们还需要将代码放入html的主体,而不是头部。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="base-1">
Forward
<form name="group_A" style="margin-top:5px">
<input value="0" type="radio" id="btnTop0" name="btnTop0" onclick="uncheckBottom()" checked />
<span> 0    </span>
<input value="1" type="radio" id="btnTop1" name="btnTop1" onclick="uncheckBottom()" />
<span> 1    </span>
<input value="2" type="radio" id="btnTop2" name="btnTop2" onclick="uncheckBottom()" />
<span> 2    </span>
<input value="3" type="radio" id="btnTop3" name="btnTop3" onclick="uncheckBottom()" />
<span> 3    </span>
</form>
</div>
<hr>
<div id="base-2">
Backward
<form name="group_B" style="margin-top:5px">
<input value="0" type="radio" id="btnBottom0" name="btnBottom0" onclick="uncheckTop()"/>
<span> 0    </span>
<input value="1" type="radio" id="btnBottom1" name="btnBottom1" onclick="uncheckTop()"/>
<span> 1    </span>
<input value="2" type="radio" id="btnBottom2" name="btnBottom2" onclick="uncheckTop()"/>
<span> 2    </span>
<input value="3" type="radio" id="btnBottom3" name="btnBottom3" onclick="uncheckTop()"/>
<span> 3    </span>
</form>
</div>
<script>
function uncheckBottom(){
document.getElementById("btnBottom0").checked = false;
document.getElementById("btnBottom1").checked = false;
document.getElementById("btnBottom2").checked = false;
document.getElementById("btnBottom3").checked = false;
}
function uncheckTop(){
document.getElementById("btnTop0").checked = false;
document.getElementById("btnTop1").checked = false;
document.getElementById("btnTop2").checked = false;
document.getElementById("btnTop3").checked = false;
}
</script>
</body>
</html>https://stackoverflow.com/questions/55696964
复制相似问题