【发布时间】:2016-03-09 08:32:57
【问题描述】:
我正在将我的数据库中的项目列表呈现到视图中,以便用户可以选择一些。如果已经选择了并且用户回到了这个视图,我需要检查选择的项目并相应地标记它们。在我的 MVC 控制器中,我从数据库中获取先前选择的项目,并将模型作为 json 字符串传递:
ViewBag.selectedSoftware = JsonConvert.SerializeObject(selected);
然后我需要遍历这个列表并与页面上的所有复选框值进行比较。如果有匹配项,我希望选中复选框。
这是我得到的最接近的(意味着它没有抛出错误):
$(function () {
var softwareList = @Html.Raw(ViewBag.selectedSoftware);
$('input[type=checkbox]').each(function() {
if (this.value == softwareList.SoftwareId) {
this.prop('checked', true);
}
})
})
这是视图中的一个复选框:
<input type="checkbox" name="SelectedSoftwareList" value="@item.SoftwareId" />
【问题讨论】:
-
数据是什么样的?想必输入名称和数据数组对象有关系吧?