【问题标题】:how to select the radio button in MVC view based on the model value如何根据模型值在 MVC 视图中选择单选按钮
【发布时间】:2013-12-04 20:01:15
【问题描述】:

在我的 MVC4 Web 应用程序中,我的视图中有硬编码的单选按钮列表,如下所示

<input type="radio" name="CopyrightCategory" value="NotKnown" checked>
<input type="radio" name="CopyrightCategory" value="CopyrightCategory1A">xxxxxxxx
<input type="radio" name="CopyrightCategory" value="CopyrightCategory1B">yyyyyyyy

我从模型中获得价值

 @Html.LabelFor(m => m.CopyrightCategory, new { @class = "control-label" })

基于 m.CopyrightCategory 的值,我需要将项目设置为已选中,例如如果 m.CopyrightCategory 的值为 "CopyrightCategory1B" 那么我们将拥有它这样的

<input type="radio" name="CopyrightCategory" value="NotKnown">
<input type="radio" name="CopyrightCategory" value="CopyrightCategory1A">xxxxxxxx
<input type="radio" name="CopyrightCategory" value="CopyrightCategory1B" checked>

【问题讨论】:

    标签: c# asp.net asp.net-mvc-4


    【解决方案1】:

    制作这样的东西:

    <input 
          type="radio" 
          name="CopyrightCategory" 
          value="CopyrightCategory1B" @(Model.CopyrightCategory == "CopyrightCategory1B" ? "checked" : string.Empty) >
    

    【讨论】:

      【解决方案2】:

      理想情况下,您应该使用 Html.RadioButton 辅助方法,但如果您想手动创建单选按钮,您可以添加一个 if 语句来确定是否应检查单选按钮:

      <input type="radio" name="CopyrightCategory" value="CopyrightCategory1B" @if(m.CopyrightCategory == "CopyrightCategory1B"){<text>checked</text>}>
      

      【讨论】:

      【解决方案3】:

      我做了一个简短的演示,这里是链接。我希望这能帮助你解决你的问题。 http://jsfiddle.net/6tZgk/2/

      HTML

      <input id = 'check' type="radio" name="CopyrightCategory" value="NotKnown" checked>
      <input id='checkA' type="radio" name="CopyrightCategory" value="CopyrightCategory1A">xxxxxxxx
      <input id='checkB' type="radio" name="CopyrightCategory" value="CopyrightCategory1B">yyyyyyyy
       <span id="spanId">CopyrightCategory1B</span>
      

      您的@html.label 将生成一个附加 id 的标签,并具有与我在此处添加的 span 相同的功能

      jQuery

      if($('#spanId').text() == 'CopyrightCategory1B') { $('#checkB').attr('checked','checked'); }
      else if($('#spanId').text() == 'CopyrightCategory1A') {
      $('#checkA').attr('checked', 'checked');;
      

      } else $('#check').attr('checked', 'checked');;

      【讨论】:

      • 尝试从 span 更改文本并点击运行以选择另一个单选按钮
      猜你喜欢
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 2017-06-30
      相关资源
      最近更新 更多