Asp.net mvc MVC无线电按钮

Asp.net mvc MVC无线电按钮,asp.net-mvc,razor,Asp.net Mvc,Razor,我有以下几点: <div class="editor-field"> @Html.RadioButtonFor(m => m.TotalCol, "Yes") @Html.Label("Yes")&nbsp;&nbsp; @Html.RadioButtonFor(m => m.TotalCol, "No") @Html.Label("No") 我使用以下方法获取值: var TotalCo = $('#T

我有以下几点:

     <div class="editor-field">
       @Html.RadioButtonFor(m => m.TotalCol, "Yes")  @Html.Label("Yes")&nbsp;&nbsp; 
       @Html.RadioButtonFor(m => m.TotalCol, "No") @Html.Label("No")
我使用以下方法获取值:

    var TotalCo = $('#TotalCol').val();
    alert(TotalCo);
警报显示是

如果我在提交表单时未选择“是”或“否”而发出警告,我仍然 得到肯定。这是为什么。为什么它不返回空白


通过查看您的代码,我看到您的单选按钮实际上被“分组”为#TotalCol,因此jquery只能绘制第一个元素,并为您显示组中特定元素的val。例如,如果要反转此选项,则会得到相反的结果(警报会像这样返回“否”):


我希望这是有意义的:)

当您有两个同名(或ID)的单选按钮时,您需要找出所选的单选按钮。您可以使用选择器
:checked
来执行此操作

例如:

 $('#TotalCol:checked').val();


当您调用该特定视图时,TotalCol是空的还是它实际上有任何值?它是空的。我使用以下命令获取值var TotalCo=$('#TotalCol').val();您需要$('input[name=TotalCol]:checked').val()您可以检查呈现的标记中的yes和no。其中一个将id设置为TotalCol,而另一个将具有不同的id。因此返回yes。那么您怎么说@NatePet,您解决了这个问题吗?
@Html.RadioButtonFor(m => m.TotalCol, "No") @Html.Label("No")
@Html.RadioButtonFor(m => m.TotalCol, "Yes")  @Html.Label("Yes")&nbsp;&nbsp;
 $('#TotalCol:checked').val();
 $('input[name=TotalCol]:checked').val();