2012-07-06 61 views
1

我对这个问题,它已经烦了我几天,现在一个小提琴:fiddle淘汰赛 - 在dependentObservable(或计算机)多选列表

包括观察到的一个selectedUserReport的模式以及一个SelectedRecord dependentObservable是一个我从here

了我的问题是,每当你在多选列表,它阻止你选择任何项目单击某个项目PageModel.SelectedRecord功能评估。

任何人都可以指向正确的方向吗?

+0

任何方式,你可以简化你的小提琴到相关的代码? – Tyrsius 2012-07-06 21:41:53

+0

完成 - 以上新链接 – BonyT 2012-07-06 21:56:46

回答

1

你有一个语法错误,这里是working fiddle

selectedOptions: SelectedColumns //Shortcut, if prop is in context (it isn't right now) 
selectedOptions: $parent.SelectedColumns //illegal 
selectedOptions: $parent.SelectedColumns() //Correct 

的问题是,通过自身引用一个观察的时候,敲除允许你删除括号。但是,像内联函数或其他引用的其他内容,您需要使用parens。你在中间使用非法线路。

编辑:
好了,节约是一个有点乱来进入的,但基本上你节省代码错误地推送数据。这里是another fiddle。注意,编辑行现在是:

self.selectedUserReport(new userReportModel(data));

你不是构建一个新的模式,你只需按下数据。这已经打破了现在关闭的对话框,但是如果您手动关闭它,它将重新打开正确选择的选定选项。我希望你能从这里管理它。

+0

Doh! - 感谢您指出 - 我仍然有一个问题,虽然列表不显示以前选定的列 - 我已经implmented保存功能,清楚地显示它:http://jsfiddle.net/Quu4f/13/ – BonyT 2012-07-06 22:11:47

+0

我不确定我关注... – Tyrsius 2012-07-06 22:12:27

+0

如果您在多重选择中选择一个项目并单击保存,您现在会在网格中获得一个新条目 - 重新选择该条目 - 我期望多重选择以显示以前选择的值 - 它不 - 它总是默认为空 - 我猜这是因为SelectedColumns集合中的值与ReportColumnGroups集合中的值不同,就控件而言,它忽略他们? – BonyT 2012-07-06 22:15:59