假设我有2个可观察数组
var data1 = [{
name1: "one",
id: 1,
IsSelected: false
},
{
name1: "two",
id: 2,
IsSelected: false
},
{
name1: "three",
id: 3,
IsSelected: false
}];
var data2 = [{
name2: "five"
},
{
name2: "two"
},
{
name2: "three"
}];
从2个数组中可以看到2行匹配“2”和“3”。这些匹配的行绑定到复选框并标记为已选中。
现在我想要的是如果行匹配,那么如果行匹配,它应该将IsSelected属性设置为true。
我知道flattening数组会使2个数组的结构相同。但我想要的是比较2个数组并在数据匹配时将IsSelected属性标记为true。
fiddle这可以减少你的困惑。
我真的没有想法来实现这个目标。在小提琴中你可以看到2个盒子被检查,但它旁边显示为假。它应该显示为真。
答案 0 :(得分:1)
可能this会有所帮助
self.isDuplicated = function (item) {
var data2 = viewModel.dataTwo();
for (var index = 0; index < data2.length; index++) {
if (data2[index].name == item.name) return true;
}
return false;
};