uso texto span que obtener nodos manipular elementos elemento ejemplos con cambiar aprender javascript jquery kendo-ui kendo-treeview

javascript - texto - Leer los valores del nodo seleccionado de la vista de árbol de kendo?



obtener elemento html con javascript (3)

Tengo una vista de árbol de kendo que tiene un nodo con {id, value} . y quiero obtener el id y el valor del nodo seleccionado cuando hago clic en un botón.

¿Cómo puedo obtenerlo? ¿Hay alguna función incorporada allí para conseguirlo?

Aquí está mi código de muestra:

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


No estoy de acuerdo con la respuesta seleccionada porque, dependiendo de lo que realmente HAGA, puede estar 1 paso detrás del valor seleccionado.

Si tuvieras alguna función de eliminación simple, entonces este tipo de código funciona bien

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

Sin embargo, una vez que comiences a jugar con la vista de árbol más terminarás lamentando eso como yo.

La mejor práctica es vincularse con el controlador de eventos

p.ej

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

seleccionar la función

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


Use el método .select() . Asegúrese de mirar los otros métodos disponibles también.

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

Violín aquí


** 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.

**