我想知道更改时检查或取消选中的项目。
var MenuTree = function () {
$.ajax({
type: "POST",
url: "Menu_Permission.aspx/Menu",
contentType: "application/json",
dataType: "json",
success: function (data) {
var menujson = JSON.parse(data.d);
$('#tree_menu').jstree({
'plugins': ["wholerow", "checkbox", "types"],
'core': {
"themes": {
"responsive": false
},
'data': menujson
}
});
},
error: function () {
console.log('err')
}
});
$(function () {
$('#tree_menu').on('changed.jstree', function (e, data) {
console.log(data.node);
console.log(data.selected);
});
});
$(function () {
$('#tree_menu').on('deselect_node.jstree Event', function (e, data) {
console.log(data.node.id);
});
});
$(function () {
$('#tree_menu').on('select_node.jstree Event', function (e, data) {
console.log(data.node.id);
});
});
}
我有这些函数,changed.jstree
返回对象,我无法访问被点击的ID。其他人正确地返回我的身份,但是,如果它是最后一个检查项并且它发生了变化,我将如何知道父项复选框是否已更改。否则,如果它是根项目并且它有子项,则所有这些项目都将消失,我怎么知道它。
data.selected
返回我选择的数组,但有没有办法知道哪个被更改,从选择到未选择或反向?
并且函数触发onload,我该如何更改?
答案 0 :(得分:2)
使用以下内容:
$(function () {
$('#tree_menu').on('changed.jstree', function (e, data) {
console.log(data.node.id);
});
});
而不是
console.log(data.node);
使用
console.log(data.node.id);