我有一个带有{id, value}
节点的剑道树视图。当我点击按钮时,我想获得所选节点的id和值。
我怎样才能得到它?是否有任何内置功能可以获得它?
以下是我的示例代码:
$("mytree").kendoTreeView({
dataSource: mydata,
dataTextField: "Name",
dataValueField: "Id",
});
答案 0 :(得分:21)
使用.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 强>
答案 1 :(得分: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.
**
答案 2 :(得分:2)
我不同意所选择的答案,因为根据你实际做的事情,你可以比实际选择的值落后一步。
如果你有一些简单的删除功能,那么这种类型的代码可以正常工作
var treeview = $("#treeview").data("kendoTreeView");
var selectedNode = treeview.select(),
item = treeview.dataItem(selectedNode);
然而,一旦你开始玩树视图,你将会像我一样后悔。
最佳做法是与事件处理程序绑定
e.g。
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');
}