0

我有以下几点:

     <div class="editor-field">
       @Html.RadioButtonFor(m => m.TotalCol, "Yes")  @Html.Label("Yes")&nbsp;&nbsp; 
       @Html.RadioButtonFor(m => m.TotalCol, "No") @Html.Label("No")

请注意,TotalCol 是一个字符串。

    public string TotalCol { get; set; }

我使用以下内容来获取值:

    var TotalCo = $('#TotalCol').val();
    alert(TotalCo);

警报显示是。

如果我在提交表单时发出警报而不选择是或否,我仍然会得到是。这是为什么。为什么它不只是返回空白。

提前致谢

4

2 回答 2

0

通过查看您的代码,我看到您的 RadioButtons 实际上被“分组”为#TotalCol,因此 jquery 只能抓住第一个元素并为您显示来自该组特定元素的 val。例如,如果你要反转这个,你会得到相反的结果(警报会像这样返回“否”):

@Html.RadioButtonFor(m => m.TotalCol, "No") @Html.Label("No")
@Html.RadioButtonFor(m => m.TotalCol, "Yes")  @Html.Label("Yes")&nbsp;&nbsp;

我希望这是有道理的:)

于 2013-02-19T17:12:22.703 回答
0

当您有两个具有相同名称(或 ID)的单选按钮时,您需要找出选择了哪一个。您可以使用选择器来做到这一点:checked

例子:

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

或者

 $('input[name=TotalCol]:checked').val();
于 2013-02-19T17:21:23.453 回答