在 MVC 中,我可以定义一组单选按钮,如下所示:
@Html.RadioButtonFor(x => x.hasAcceptedAgreement, true) Yes
@Html.RadioButtonFor(x => x.hasAcceptedAgreement, false) No
渲染
<input id="hasAcceptedAgreement" name="hasAcceptedAgreement" type="radio" value="True" /> Yes
<input id="hasAcceptedAgreement" name="hasAcceptedAgreement" type="radio" value="False" /> No
我想根据所选项目禁用或启用 div,我已经使用 jQuery 做到了这一点:
$(':radio[name=hasAcceptedAgreement]').change(function () {
if ($(this).val() == 'True') {
// display div
} else {
// hide div
}
});
但是当他们提交表单时,我还需要检查当前选择了哪个值,然后再次显示/隐藏相应的部分(因为不会在 POST 上调用 .change 函数)。有什么办法可以实现这一点吗?
如果我尝试执行 if $(':radio[name=hasAcceptedAgreement]').val() 操作,它将始终评估为 True,因为 id 是相同的(我假设)。是否有其他方法来获取该值,或者我是否因为 MVC 喜欢为每个 id 赋予相同的名称而感到困惑?
编辑:顺便说一句,我知道我可以在 RadioButtonFor 调用中手动设置 id - 我只是想知道是否有一些更简单的内置方法来处理我不知道的问题。
最佳答案
正如他们所说:How can I get which radio is selected via jQuery?您可以使用:
$('input[name=hasAcceptedAgreement]:checked').val()
获取当前所选单选按钮的值。
关于jquery - 使用 jQuery 获取单选按钮的当前选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155379/