jquery - 使用 jQuery 获取单选按钮的当前选定值

标签 jquery asp.net-mvc

在 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/

相关文章:

jquery - 计算单击了多少个单选按钮

asp.net-mvc - 如何在具有数据库调用的 ASP.net MVC 中正确测试 Controller

asp.net-mvc - MVC 对 HiddenFor 的 lambda 处理方式与 DisplayFor 不同

javascript - 为什么我的复选框更改事件没有被触发?

javascript - 识别并提取图像的标题/说明(数据剪贴Pinterest)

javascript - 字母js延迟

javascript - Nivoslider(在动态 ajax 内容中)不会在第一次加载时加载图像

c# - 如何捆绑项目文件夹外部的文件夹

asp.net-mvc - 在 ASP.NET MVC 之上使用 Angular JS 的好处

asp.net-mvc - MVC Grid 的 Kendo UI 如何隐藏 ID 列