【问题标题】:How can I bind JSON data to check box in JQuery如何将 JSON 数据绑定到 JQuery 中的复选框
【发布时间】:2013-09-23 10:37:46
【问题描述】:

我有一个@Html.CheckBox,我最初是动态加载的。我需要选中/取消选中带有通过 JSON 数据获得的值的复选框。

这是我的html-

<td>
    @{
        IEnumerable<SelectListItem> Brands = ViewBag.GetBrands;
        foreach (var item in Brands)
        {                                                                   
            @Html.CheckBox(item.Text, false, new { item.Value })                                                                                                         <label>@item.Text</label><br />
        }
    }
</td>

这是我在 JQuery 中尝试过的-

for (var i = 0; i < data.Configuration.OfficeBrands.count; i++) {
    $('#' + data.Configuration.OfficeBrands[i]).attr('checked', true);
}

data.Configuration.OfficeBrands 有类似的东西:

{
    { ID: 1, Text: Text1 },
    { ID: 2, Text: Text2 },
    //...
}

加载时,我取消选中所有复选框,我想检查中的值 data.Configuration.OfficeBrands

【问题讨论】:

  • OfficeBrands数组中的ID是复选框中使用的value吗?
  • ID 是复选框中的 item.Value
  • 在循环中尝试 Configuration.OfficeBrands[i].ID

标签: c# javascript jquery asp.net json


【解决方案1】:

鉴于 ID 数组中返回的 OfficeBrands 值是复选框的值,试试这个:

$.each(data.Configuration.OfficeBrands, function(i, brand) {
    $(':checkbox[Value="' + brand.ID + '"]').prop('checked', true);
});

您可能需要使:checkbox 选择器更加具体,具体取决于您的页面上有多少复选框。

【讨论】:

  • 我想从@Html.CheckBox 传递IDName,这就是为什么我不能更具体地指定checkbox 名称。
  • 这里的brand 是什么意思-IDName
  • @Sandy 我忘记了brand 上的.ID。试试看。
猜你喜欢
  • 2011-11-18
  • 1970-01-01
  • 2018-01-03
  • 2019-07-25
  • 1970-01-01
  • 2016-06-07
  • 2015-12-14
  • 1970-01-01
  • 2012-02-12
相关资源
最近更新 更多