如何解决使用 JS 或 JQ 将单选按钮转换为只读不禁用
我有一个带有三个输入选项的参数作为单选按钮(例如“是”;“否”;“NA”)。我想在不更改原始 HTML 代码的情况下使用 JS 或 Jquery 将其中一个单选按钮(例如对于 NA)设为只读(不禁用)。有人可以帮我吗?
<fieldset class="form-group radio_buttons optional question_1">
<div class="form-check">
<input id="question_1_1" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_1">Yes</label>
</div>
<div class="form-check">
<input id="question_1_2" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_2">No</label>
</div>
<div class="form-check">
<input id="question_1_3" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_3">NA</label>
</div>
</fieldset>
解决方法
<html>
<body>
<fieldset class="form-group radio_buttons optional question_1">
<div class="form-check">
<input id="question_1_1" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_1">Yes</label>
</div>
<div class="form-check">
<input id="question_1_2" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_2">No</label>
</div>
<div class="form-check">
<input id="question_1_3" class="form-check-input" onmouseover="setValue(this)" onclick="retainValue(this)" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_3">NA</label>
</div>
</fieldset>
<script>
var checkboxes = {};
function setValue(el) {
if(!(el.id in checkboxes))
checkboxes[el.id] = el.checked;
}
function retainValue(el) {
if(!(el.id in checkboxes))
checkboxes[el.id] = el.checked;
el.checked = checkboxes[el.id];
}
</script>
</body>
</html>
这应该按照您的要求工作
$(document).ready(function(){
$('#question_1_3').on("click",function(){
$(this).prop("checked",false);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<html>
<body>
<fieldset class="form-group radio_buttons optional question_1">
<div class="form-check">
<input id="question_1_1" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_1">Yes</label>
</div>
<div class="form-check">
<input id="question_1_2" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_2">No</label>
</div>
<div class="form-check">
<input id="question_1_3" class="form-check-input" type="radio" value="1" name="question_1">
<label class="form-check-label" for "question_1_3">NA</label>
</div>
</fieldset>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。