【发布时间】:2013-09-15 05:07:54
【问题描述】:
我正在使用 ASP.NET MVC4 在表中动态生成行。我想使用 Knockout 将所述表的每个生成行中的复选框的启用属性绑定到一个表达式,该表达式正在评估该列中是否有给定数量的复选框。
这是我的表的示例:
<table>
<tr>
<th>Happy?</th>
</tr>
@for (int z = 0; z < Model.People.Count; z++) {
<tr>
<td>@Html.CheckboxFor(Model.People[z].Happy,new{@data_bind= "checked: CheckedHappyPeople, enable: CheckedHappyPeople.length < 5 || CheckedHappyPeople"})
</td>
}
</tr>
</table>
还有我的虚拟机:
function viewModel(){
var self = this;
self.CheckedHappyPeople = ko.observableArray();
}
还有我的模特:
public class PeopleViewModel
{
public List<People> {get; set;}
public PeopleViewModel(){}
}
public class People
{
public bool Happy {get; set;}
}
有了上面的内容,每当我选择“快乐”复选框时,表格中的所有复选框都会被选中/取消选中。如何使用 Knockout 绑定到这些动态生成的元素?我应该以某种方式在 ASP.NET MVC4 中使用foreach 绑定吗?
【问题讨论】:
-
表是使用(客户端)KO的
foreach动态生成的,还是在服务端生成的? -
他的代码在那里显示,但令人失望的是您实际上并没有尝试任何东西,您只是在要求其他人为您编写代码。绝对不是一个好的学习方式。
-
@NikosParaskevopoulos 该表是在服务器端动态生成的,不使用 KO 的
foreach。
标签: javascript asp.net-mvc-4 knockout.js