我想绑定(bind)我的文本输入值
<input type="text" id="2" data-bind="value : ??whatToWriteHere?? ">
到以下可观察对象中的第二个对象的 name 属性(其中 input.id == object.id )
myObject = {
myArray : [ { id:1, name:'one' },{ id:2, name:'two' },{ id:3, name:'three' } ]
},
myObservableObject = ko.observable(myObject);
我应该用什么表达式替换??whatToWriteHere??
编辑:实际上数组不一定位于另一个对象内
myArray : [ { id:1, name:'one' },{ id:2, name:'two' },{ id:3, name:'three' } ]
myObservableArray = ko.observableArray(myArray);
最佳答案
我有一个基于 ko.mapping plugin 的解决方案以及为您的目的创建的自定义绑定(bind)。
您可以在这里看到一个工作 fiddle :
http://jsfiddle.net/ingro/MhdZp/
整个想法是映射您的observableArray,然后使用映射插件的mappedIndexOf 函数检索与您的输入id 绑定(bind)的那个。
关于javascript - 根据某些条件,Knockout JS 绑定(bind)到可观察对象内的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11339787/