7

我有一个剑道树视图,其节点带有{id, value}. 当我点击一个按钮时,我想获取选定节点的 ID 和值。

我怎么才能得到它?是否有任何内置函数可以获取它?

这是我的示例代码:

$("mytree").kendoTreeView({
                dataSource: mydata,
                dataTextField: "Name",
                dataValueField: "Id",
            });
4

3 回答 3

22

使用.select()方法。请务必查看其他可用的方法。

var tv = $('.mytree').data('kendoTreeView'),
    selected = tv.select(),
    item = tv.dataItem(selected);
if (item) {
  alert('Selected item: ' + item.Name + ' : ' + item.Id + ' (uid: ' + item.uid + ')');
} else {
  alert('Nothing selected');
}

在这里提琴

于 2013-08-30T13:48:24.940 回答
5
**

var tv = $("#treeview-right").data("kendoTreeView");
    var selectedNode = tv.select();
    var item = tv.dataItem(e.node);
    item.text will give you the text of the selected node.

**

于 2014-03-27T16:31:55.953 回答
3

我不同意所选的答案,因为根据您实际执行的操作,您可能比实际选择的值落后 1 步。

如果您有一些简单的删除功能,那么这种类型的代码可以正常工作

var treeview = $("#treeview").data("kendoTreeView");
var selectedNode = treeview.select(),
item = treeview.dataItem(selectedNode);

然而,一旦你开始更多地使用树视图,你最终会像我一样后悔。

最佳实践是绑定到事件处理程序

例如

var treeview = $("#treeview").kendoTreeView({
    expanded: true,
    select: onSelect,
    ....        
}).data("kendoTreeView");

选择 功能

function onSelect(e) {

    var treeview = $("#treeview").data("kendoTreeView");
    var item = treeview.dataItem(e.node);

     if (item) {
         console.log('Selected item: ' + item.whatever + ' | Id = ' + item.Id + ' | Type = ' + item.Type);
         var someVariable = item.whatever;
     } else{
        console.log('nothing selected');
     }
于 2016-04-04T02:38:46.393 回答