【问题标题】:Radio button for checked jquery in MVCMVC中选中jquery的单选按钮
【发布时间】:2014-07-26 23:15:58
【问题描述】:

我有 MVC 应用程序,我正在尝试检查默认单选按钮以开始。

我的表单代码如下:-

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "form" }))
{

<div>

@Html.RadioButtonFor(model => model.StageGate, false) No
@Html.RadioButtonFor(model => model.StageGate, true) Yes

</div>

<input type="submit" value="Submit" class="button" />

}

现在一开始,默认选择否,在我提交表单时将其更改为是后,我希望它恢复为否。

我尝试了很多方法,但都不起作用。

我尝试的一些方法如下:-

$("#StageGate").prop("checked", true)
$("#StageGate").attr('checked', 'checked');

但没有任何效果。

编辑

呈现的 HTML 是:-

<form action="/Url" id="form" method="post" novalidate="novalidate">        
<div>

            <input checked="checked" data-val="true" data-val-required="The StageGate field is required." id="StageGate" name="StageGate" type="radio" value="False"> No
            <input id="StageGate" name="StageGate" type="radio" value="True"> Yes

        </div>

        <input type="submit" value="Submit" class="button">

</form>

请指导我以帮助我将其发送回“否”或“是”的方法。

【问题讨论】:

  • 发布你渲染的 HTML
  • @tymeJV 请查看已编辑的问题。

标签: jquery asp.net-mvc radio-button


【解决方案1】:

你有两个StageGate 的 ID - ID 必须是唯一的,考虑给相似的元素提供公共类。只要您使用唯一的 ID,您的 jQuery 语法就可以使用 .prop("checked", true)

【讨论】:

  • ID 重复,我完全理解。但是我有一个变量,并希望为该值提供一个输出。使用多个变量来获得一个值不是选项。我该怎么办?
【解决方案2】:

扩展 tymeJV 的答案,您只需为每个输入提供唯一的 ID。

@Html.RadioButtonFor(model => model.StageGate, false, new {id = "stagegateno"}) No
@Html.RadioButtonFor(model => model.StageGate, true, new {id = "stagegateyes"}) Yes

然后用 javascript 将其设置回 no:

$("#stagegateno").attr("checked", "checked")

【讨论】:

    【解决方案3】:

    正如 tymeJV 所说,id 必须是唯一的。如果您对设置唯一 id 有任何约束,您可以在 jquery 中使用它们的类名来操作元素,如下所示。

    @Html.RadioButtonFor(item => item.StageGate, false, new {@class = "rdbtnno"}) No
    @Html.RadioButtonFor(item => item.StageGate, true, new {@class = "rdbtnyes"}) Yes
    

    和 jquery 部分

    <script>
       $(function () {
          $(".rdbtnno").prop("checked", "checked");
      prop });
    </script>
    

    【讨论】:

      【解决方案4】:

      试试这个:

        @using (Html.BeginForm(null, null, FormMethod.Post, new { id = "form" }))
                  {
      
                    <div>
                    @Html.RadioButtonFor(model => model.StageGate, false, new { @checked = "checked" }) No
                    @Html.RadioButtonFor(model => model.StageGate, true) Yes
                    </div>
      
                  <input type="submit" id="submit" name="submit" value="Submit" class="button" />
                  }
      

      【讨论】:

        猜你喜欢
        • 2017-10-18
        • 2018-05-16
        • 1970-01-01
        • 2011-12-01
        • 1970-01-01
        • 2011-10-03
        • 2018-01-23
        • 1970-01-01
        • 2010-09-27
        相关资源
        最近更新 更多