【发布时间】:2018-07-23 18:00:31
【问题描述】:
我的代码中有许多具有不同名称但具有 data-group-name 属性的无线电输入。
一次应该只为一个组选中一个单选按钮。
这是我的示例输入和 JS:
$('input[type="radio"]').change(function() {
$(this).attr('checked', true).val("true");
var groupName = $(this).attr('data-group-name');
$('input[type="radio"][data-group-name="' + groupName + '"]').not(this).prop('checked', false);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input checked="checked" class="custom-control-input ml-1 mr-1" data-group-name="21-group" id="radio21" name="Group[21].Value" value="true" type="radio">
<input checked="checked" class="custom-control-input ml-1 mr-1" data-group-name="21-group" id="radio22" name="Group[22].Value" value="true" type="radio">
<input checked="checked" class="custom-control-input ml-1 mr-1" data-group-name="23-group" id="radio23" name="Group[23].Value" value="true" type="radio">
但是,我仍然可以检查许多收音机。
【问题讨论】:
-
没有必要使用
.attr('checked', true)。该属性仅用于初始默认值,不需要更新。
标签: javascript jquery html radio-group