2013-09-23 78 views
1

我有我最初動態加載的@Html.CheckBox。我需要使用通過JSON數據獲得的值來選中/取消選中複選框。如何將JSON數據綁定到JQuery中的複選框

這是我的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

+1

「OfficeBrands」數組中的「ID」是否在複選框中使用了「值」? –

+0

是'ID'是複選框中的'item.Value' – Sandy

+0

嘗試Configuration.OfficeBrands [i] .ID在循環中 – NaYaN

回答

2

鑑於在您OfficeBrands返回數組的ID值是複選框的值,試試這個:

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

您可能需要使:checkbox選擇更具體的,這取決於有多少checkboxed對你的頁。

+0

我想從'@ Html.CheckBox'傳遞'ID'和'Name',這就是爲什麼''checkbox'名字我不能更加特別。 – Sandy

+0

「品牌」在這裏是指「ID」還是「名稱」? – Sandy

+1

@Sandy我忘記了'品牌'上的'.ID'。試試看。 –

相關問題