我有一个空数组和一个可选树,每当用户检查或取消检查节点时,我都会推送节点的ID,并且复选框为true或false。
但是现在,如果用户将检查然后取消选中一个节点,那么在同一节点的数组中将有两个对象,我如何确保不会发生这种情况?
//creating empty array
var checkedItems = [];
//(in kendo observable) on user selection I'm pushing the checked node to array
onItemChecked : function (e) {
var node = e.sender.dataItem(e.node);
checkedItems.push({Id: node.Id, IsChecked: node.checked});
},
Run Code Online (Sandbox Code Playgroud)
您可以在推送新对象之前,检查是否存在具有该ID的对象。
var el = checkedItems.filter(function(el) {
return el.Id === node.Id;
});
if (el.length) {
el[0].IsChecked = node.checked;
} else {
// push a new object
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4541 次 |
| 最近记录: |