ObservableArray子可观察对象变化监控
ObservableArray child observable change monitoring
考虑这个jsfield
我想不出一种方法来确保如果上面例子中的第一行已经在下拉列表中被选中,那么下一行将被阻止选择相同的值。
我认为这里的问题是,当下拉单击事件触发时,当子值发生更改时,订阅者不会监视此更改。有人能帮忙吗?
viewModel.actualMetrics.subscribe(function(newValue) {
if (newValue) {
$.each(viewModel.actualMetrics(), function(n, item) {
if (item.MetricTypeId() == newValue.MetricTypeId)
alert("already selected this Metric");
});
}
下面是一个基本的示例,可以实现您想要的功能:http://jsfiddle.net/rniemeyer/3cpUp/
这是您的样品:http://jsfiddle.net/rniemeyer/8bQmq/
基本思想是,你有一个选择列表,然后你创建一个dependentObservable,它是当前使用的选择的索引。这节省了在构建每行选项时遍历当前选项的一些循环。这个索引可以是一个对象或数组。我使用了一个对象,但您也可以使用一个数组,将id作为索引。
然后,在每个项目上,您可以有一个dependentObservable来存储该项目的筛选选项。但是,我使用了一个函数,因为它看起来不像是一个对视图模型真正重要的属性,并且绑定是使用dependentObservables实现的,所以当您将其发送到json时,您可以获得相同的效果,而无需显示选择。该函数循环遍历所有的选项,并通过检查自己的值和索引,只包括没有出现在另一行的选项。
相关文章:
- 单击页面上的链接后高度发生变化
- React redux初始化功能,无论状态变化如何
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- JS幻灯片与CSS背景颜色变化
- 重新加载页面时Javascript变量发生变化
- 如何获得Bootstrap Datepicker的年和月,因为它在变化
- 如何用jquery替换字符串中可能变化的字符
- 检测数据的变化
- 如何检测和打印变化变量LESS
- 当文本不断变化时,如何避免在按钮内移动文本
- 当数据库中的某些内容发生变化时调用HTTP方法Meteor.js
- Greasemonkey脚本监控一个网站的变化
- JavaScript修改对象原型来监控变化
- ObservableArray子可观察对象变化监控
- Node.js监控文件的变化并解析它们
- 使用JavaScript监控帧的变化
- 使用jquery监控表单字段的变化
- jQuery监控表的变化
- 监控远程文件的变化,而不用用nodejs下载它