根据下拉列表中模型中的某个值,我想潜在地“自动检查”单选按钮。
基本上,如果我们已经从系统的其他地方知道这些信息,我会简单地将答案标记为"is"。
但是我遇到了一个非常奇怪的图形错误,该代码只能运行一次。后续调用不会“检查”单选按钮:
function brokenAutoCheck() {
if (HasDescription) {
$('input[name=AttachedJobDescription][value=True]').attr('checked', true);
$('input[name=AttachedJobDescription][value=False]').attr('checked', null);
$('input[name=AttachedJobDescription][value=True]').attr('disabled', true);
$('input[name=AttachedJobDescription][value=False]').attr('disabled', true);
} else {
$('input[name=AttachedJobDescription][value=True]').attr('checked', null);
$('input[name=AttachedJobDescription][value=False]').attr('checked', null);
$('input[name=AttachedJobDescription][value=True]').attr('disabled', null);
$('input[name=AttachedJobDescription][value=False]').attr('disabled', null);
}
HasDescription = !HasDescription;
}
var HasDescription = true;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Yes
<input data-val="true" data-val-required="The Attached Job Description field is required." id="AttachedJobDescription" name="AttachedJobDescription" onchange="showJobDescriptionDocument();" type="radio" value="True">No
<input id="AttachedJobDescription" name="AttachedJobDescription" onchange="showJobDescriptionDocument();" type="radio" value="False">
<br>
<button type="button" onclick="brokenAutoCheck()">Work Once AutoCheck</button>
注意:有趣的是,如果您将 JQuery 版本设置为 1.3.1,则可以正常工作!
最佳答案
您使用的 jquery 版本不是 1.3.1?
从 jQuery 1.6 开始,建议使用 .prop() 而不是 .attr()。
$(" selector ").prop("checked", true);
关于javascript - JQuery 中的自动检查单选按钮(根据另一个值将单选按钮标记为选中/未选中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40178002/