嗨,我有获取jstree模型的选定节点的数据的问题.
<script type="text/javascript">
$('#preview').on("changed.jstree", function (e, data) {
console.log(data.selected);
console.log(data.selected.attr("text"));
});
</script>
Run Code Online (Sandbox Code Playgroud)
第一个控制台日志显示"[js1_1]"或"[js1_2]",具体取决于所选节点.但第二个日志"未定义不是一个函数"; /我尝试了很多不同的方法,但我没有获得节点文本(标题)或任何其他信息
我发送模型列表作为json,它看起来像这样:
Public Class JsTreeModel
Public Property text As String
Public Property icon As String
Public Property Id As String
Public Property PId As String
Public Property ParentId As String
Public Property Status As Integer
End Class
Run Code Online (Sandbox Code Playgroud)
谁有解决方案?
更新jstree代码
<script type="text/javascript">
$(document).ready(function () {
$('#WhenRemoving').toggle($('.RemoveCheckbox').is(":checked"));
$('#WhenAdding').toggle(!$('.RemoveCheckbox').is(":checked"));
$('#preview').jstree({
'core': {
'data': {
'url': '/TreeTest/TreePreview/',
'data': function (node) {
return node;
}
}
}
}).bind("loaded.jstree", function (event, data) {
$(this).jstree("open_all");
})
});
</script>
Run Code Online (Sandbox Code Playgroud)
当我将它添加到我的jstree时,我可以在html div中看到所选的名称节点
.on('changed.jstree', function (e, data) {
var i, j, r = [];
for (i = 0, j = data.selected.length; i < j; i++) {
r.push(data.instance.get_node(data.selected[i]).text);
}
$('#event_result').html('Selected: ' + r.join(', '));
})
});
Run Code Online (Sandbox Code Playgroud)
Str*_*bek 16
以上都没有为我工作.这有效:
$(treeID).jstree().get_selected(true)[0].text;
Run Code Online (Sandbox Code Playgroud)