jquery - 检查和取消选中单选按钮
问题描述
有没有办法检查顶行的单选按钮然后取消选中所有底部的单选按钮,反之亦然?When the a radio button from the bottom row is selected then all the top ones are set to 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>
解决方案
当然。这可以使用 jQuery 轻松完成。这是一个脚本,它取消选中文档中具有相同name
属性的所有其他单选按钮。
这通过将事件绑定到所有单选按钮的change
事件来工作。此事件将检查单选按钮是否正在更改为checked
,如果是,它将在正文中搜索具有相同name
属性的所有其他单选按钮,并checked
使用 将其属性更改为 false .prop()
。
$("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>
推荐阅读
- node.js - Getting error testing readstream response with Jest
- javascript - Binary to it's original format
- sql - Change column datatype from NChar to Date
- delphi-7 - Delphi 7 - Checking a Letter with TMemo.Lines
- mongodb - Meteor don't close Mongo connections?
- dialogflow-es - 我们可以在对话流中为特定用户使用相同的 session_id 吗?
- visual-studio - Intellisense not working for CMake CUDA project in Visual Studio 2019
- javascript - updating client time with website time that uses lightstreamer
- asp.net-mvc - ASP .NET MVC - getting null querystring values in controller
- css - 为什么导入的图标库的图标在VUE中不显示?