我正在学习淘汰赛,并试图建立一个页面来建立一个可选择的用户列表。JSFiddle: http: //jsfiddle.net/Just/XtzJk/3/(我无法正确分配数据)。
当我调用 Controller 时,数据分配正在我的页面中工作,如下所示,它按预期绑定到控件
$.getJSON("/Wizard/GetUsers",function(allData){
var mappedUsers = $.map(allData.AllUsers, function(item){return new User(item)});
self.AllUsers(mappedUsers);
if(allData.SelectedUsers != null){
var mappedSelectedUsers = $.map(allData.SelectedUsers, function(item){return new User(item)});
self.SelectedUsers(mappedSelectedUsers);}
});
问题:
a.) 我写的 JSFiddle 有什么问题?得到它的工作。
b.)在我的代码中,我能够获取调用的选定复选框的函数,但我无法获取存储在函数中收到的“用户”参数中的值。在 Chrome JS 控制台中,我可以看到用户对象存储了正确的值,但我无法检索它。通过执行 ko.toJS() 得到这个。
谢谢。
编辑:好的,我的 JSFiddle 工作了,我必须在框架中选择 Knockout.js。更新的小提琴:http: //jsfiddle.net/Just/XtzJk/5/
另外,为了获得选中的复选框的值,我做了
ko.toJS(user).userName
但我想我会采取从列表中选择值的方法,然后单击将它们移动到另一个“选定”列表并从以前的列表中删除值。从这篇文章中得到了这个想法:KnockoutJS:如何将一个 observableArray 添加到另一个?