Non sono d'accordo con la risposta selezionata perché a seconda di quello che effettivamente fanno, si può essere 1 passo dietro il valore attualmente selezionato.
Se aveste qualche semplice funzione di cancellazione allora questo tipo di codice funziona bene
var treeview = $("#treeview").data("kendoTreeView");
var selectedNode = treeview.select(),
item = treeview.dataItem(selectedNode);
Tuttavia, una volta che si inizia a giocare con la vista ad albero più si finirà per rimpiangere che come ho.
migliore consiste nel legare al gestore di eventi
esempio
var treeview = $("#treeview").kendoTreeView({
expanded: true,
select: onSelect,
....
}).data("kendoTreeView");
selezionarefunzione
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');
}
fonte
2016-04-04 02:38:46
Hey Ryan, grazie per la risposta. Ma qui sta dando null per item.text e item.id sta dando qualche Guid. Mi aspetto il testo esatto e il valore che è vincolato attraverso l'origine dati. – jestges
I miei campi testo/valore nell'esempio non corrispondevano esattamente al tuo. Vedi il mio aggiornamento e il violino aggiornato – ryan
Hey Ryan, non so cosa sto sbagliando. Ho seguito allo stesso modo, ma sta dando tv.dataItem non è un errore di funzione. – jestges