【发布时间】:2014-08-25 08:05:29
【问题描述】:
您好,我在获取 jstree 模型的选定节点的数据时遇到问题。
<script type="text/javascript">
$('#preview').on("changed.jstree", function (e, data) {
console.log(data.selected);
console.log(data.selected.attr("text"));
});
</script>
第一个控制台日志显示“[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
有人有解决方案吗?
更新 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>
当我将它添加到我的 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(', '));
})
});
【问题讨论】: