【问题标题】:How to add checked attribute of checkbox in MVC?如何在 MVC 中添加复选框的选中属性?
【发布时间】:2020-04-21 07:07:06
【问题描述】:

我有一个复选框,当我按下它时,我需要在 cshtml 中添加checked 属性。

当我取消选中该复选框时,我需要删除此属性。我该怎么做?

现在,当我按下它时,什么也没有发生。我需要以某种方式更改Checked 变量的值。

查看模型:

public class ListProductVM
{
    public int Id { get; set; }
    public bool Checked { get; set; }
}

.cshtml页面:

    <div class="compare-checkbox form-checkbox">
        <input name="compare-@Model.Id" class="js-favorite-checkbox" type="checkbox" @(Model.Checked ? "checked" : "") data-product-id="@Model.Id">
    </div>

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    你可以试试CheckBoxFor HTML 助手:

    @model ListProductVM
    
    <div class="compare-checkbox form-checkbox">
        @Html.CheckBoxFor(m => m.Checked, new { @class="js-favorite-checkbox", @data_product_id="@Model.Id" })
        @Html.LabelFor(m => m.Checked)
    </div>
    

    注意data_product_id在html文件中会被渲染为data-product-idmore info here


    这是demo

    【讨论】:

    • 当我按下复选框时,我没有看到此代码的复选框和属性
    【解决方案2】:

    您应该为此使用 jquery/javascript。将此添加到您的页面

     <script>
    
        $('.js-favorite-checkbox').change(function() {
            if(this.checked) {
                this.setAttribute('checked', 'checked');
            }
            else
            {
                this.removeAttribute("checked"); 
            }
        });
    
     </script>
    

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多