jQuery 从剑道树视图中读取选定节点的值?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18532915/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 21:52:24  来源:igfitidea点击:

Read selected node's values from kendo tree view?

javascriptjquerykendo-uikendo-treeview

提问by jestges

I have a kendo treeview having a node with {id, value}. and I want to get selected node's id and value when I click on a button.

我有一个带有{id, value}. 我想在单击按钮时获取所选节点的 id 和值。

How can I get it? Is there any inbuilt functions there to get it?

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

Here is my sample code:

这是我的示例代码:

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

回答by ryan

Use the .select()method. Be sure to look at the other methods available as well.

使用.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');
}

Fiddle here

在这里摆弄

回答by satish

**

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.

**

**

回答by Tom Stickel

I disagree with the selected answer because depending on what you actually DO, you can be 1 step behind the actually selected value.

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

If you had some simple delete function then this type of code works fine

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

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

However, once you start playing with the treeview more you will end up regretting that as I have.

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

Best practice is to tie to the event handler

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

e.g.

例如

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

selectfunction

选择功能

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');
     }