【问题标题】:disabled="disabled" on input type checkbox doesn't work输入类型复选框上的 disabled="disabled" 不起作用
【发布时间】:2017-11-01 09:13:18
【问题描述】:

我有以下代码:

<div class="row" style="margin-top:1%;">
 <div class="col-md-12">
  <ul class="List">
    @foreach (var req in requests)
    {
     <li>
      <div>
        @if(req.Equals("Test"))
        {
         <label><input type="checkbox" onclick="setRequestor(this)" />@req</label>  
        }
        else
        {
         <label><input type="checkbox" disabled="disabled" />@req</label>   
        }
      </div>
     </li>
    }
  </ul>
 </div>
</div>

问题是 disabled="disabled" 总是被忽略。如果我使用开发人员工具检查代码,我看不到 disabled 属性。我只看到:

<input type="checkbox" /> 

编辑这是呈现的 HTML:

<div class="row" style="margin-top: 1%;">
    <div class="col-md-12">
        <ul class="List">
            <li>
                <div>
                    <label><input type="checkbox">TEST3</label>
                </div>
             </li>
             <li>
                 <div>
                     <label><input onclick="setRequestor(this)" type="checkbox" >TEST</label>
                 </div>
             </li>
             <li>
                <div >
                    <label><input type="checkbox">TEST2</label>
                 </div>
             </li>
        </ul>
    </div>
</div>

EDIT 2 我用属性 ="checked" 进行了测试,它可以工作。只有“禁用”不起作用

EDIT 3 解决方案我解决了 CSS 类的问题

【问题讨论】:

  • 您是否尝试过只使用disabled 而不使用="disabled"?它是一个二元属性,所以它的存在应该有效。
  • 是的,我试过不带 ="disabled" 但也不起作用
  • 不知道更多是不可能的。请包含呈现的 HTML。
  • 我编辑了我的问题。添加了渲染的 HTML
  • 你能检查一下是否有其他东西与复选框交互,比如一些 js 吗?

标签: html asp.net-mvc razor checkbox


【解决方案1】:

这个

<input type="checkbox" disabled="disabled" /

@Html.CheckBox("checkBoxId", new { @disabled = "disabled"})

【讨论】:

    【解决方案2】:

    请尝试以下方法:

    @else
        {
         <label><input type="checkbox" disabled/>@req</label>   
        }
    

    如果您使用刀片模板,那么您需要先使用 @ 符号。

    【讨论】:

      【解决方案3】:

      你怎么知道这个检查是否有效:

       @if(req.Equals("Test"))
      

      在我看来,您的代码由于某种原因没有进入“else”子句。

      【讨论】:

      • 即使没有“相等”,如果我只输入&lt;input type="checkbox" disabled="disabled" /&gt;,它也不会显示disabled 属性
      • 能否请您发布渲染结果,以及有关您使用的框架的更多信息。这个@语法让我想起了 PHP。
      • 它的剃须刀 (asp-mvc)
      • 剃须刀请检查这个-> stackoverflow.com/questions/20940746/…
      • 但我在 if else 块内使用 HTML。我也试过checked,它可以工作。只有disabled 不起作用
      猜你喜欢
      • 2020-06-13
      • 2016-10-23
      • 2011-08-28
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 2011-05-07
      • 2018-07-10
      • 2022-08-11
      相关资源
      最近更新 更多