2016-10-19 91 views
0

我试图删除选定的项目,但它始终未定义。Kendo-Knockout TreeView选择未定义

视图模型:

 var inline = new kendo.data.HierarchicalDataSource({ 
     data: data.layers, 
     schema: { 
      model: { 
       children: "layers" 
      } 
     } 
    }); 
    console.log(inline.data().toJSON()) 
    var viewModel = { 
     treeViewDataSource: ko.observable(inline), 
     onSelect: function(e) { 
      console.log(viewModel.isSelected()) 
      e.preventDefault(); 
      $(that).trigger("treewasclicked", { 
       data: $('#avaliableLayersul').data('kendoTreeView').dataItem(e.node) 
      }); 

     }, 
     isSelected: ko.observable() 
    }; 

而且有View.Also我创建上下文(treeLayersVMVV是从主模型类,包括树形视图模型)

<div id='avaliableLayers' data-bind="with: treeLayersVMVV"> 
     <ul id='avaliableLayersul' data-bind="kendoTreeView: {dataSource:treeViewDataSource,dataValueField:'options.id', dataTextField:'options.displayName',selectable: true , selected: isSelected , select: onSelect, checkboxes: {checkChildren: true} }"></ul> 
</div> 

所以,首先,当我点击元素,它不会变成橙色。元素只有浅灰色边框。正如我的想法,这意味着元素没有被选中,但在DOM树中点击的元素是活动的。 如何解决它?谷歌并没有表现出anithing ....

回答

0

对不起,

ONSELECT:e.preventDefault(); ... 但仍然选择未定义