gpt4 book ai didi

javascript - 使用 KnockoutJS 绑定(bind)动态创建的表条目

转载 作者:行者123 更新时间:2023-11-28 08:53:35 31 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC4 动态生成表中的行。我想使用 Knockout 将所述表的每个生成行中复选框的启用属性绑定(bind)到一个表达式,该表达式正在评估该列中是否有给定数量的复选框。

这是我的表格的示例:

<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 绑定(bind)到这些动态生成的元素?我应该以某种方式在 ASP.NET MVC4 中使用 foreach 绑定(bind)吗?

最佳答案

你应该真正尝试学习和理解 Knockout,而不是要求别人为你编写代码。其一,让别人为你做事你并没有学到任何东西,其二,你不理解我为你编写的代码。话虽这么说,这是其他人将来可能会寻找的解决方案,所以这就是答案。

http://jsfiddle.net/gzsgy/14/

<input data-bind="checked: Selected, enable: $parent.selections() < 5 || Selected()" type="checkbox" />

跟踪选择,如果有 5 个或更多选择或已选中,则禁用该复选框,以便您仍然可以取消选中它。

关于javascript - 使用 KnockoutJS 绑定(bind)动态创建的表条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18798217/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com