我正在使用jstre 3.2.1加载延迟加载,一切正常。 这是我填写我的asp.net mvc5动作的Json类。
public class AutorisationNodeModel
{
public int id { get; set; }
public string text { get; set; }
public List<AutorisationNodeModel> children { get; set; }
public State state { get; set; }
}
public class State
{
public bool selected { get; set; }
}
和视图
$("#AutorizationTree").jstree({
"core": {
"themes": {
"responsive": false
},
// so that create works
"check_callback": true,
'data': {
"type": "POST",
"dataType": "json",
'url': function (node) {
return '@Url.Action("GetTreeNodes", "Administration")';
},
'data': function (node) {
return { 'IdApplication': $('#AppSelectionne').val() };
}
}
},
"types": {
"default": {
"icon": "fa fa-folder icon-state-success icon-lg"
},
"file": {
"icon": "fa fa-file icon-state-success icon-lg"
}
},
"plugins": ["dnd", "types", "checkbox", "json_data"],
"checkbox": { "tie_selection": false }
});
但预先选定的节点不起作用请帮我解决这个问题
答案 0 :(得分:0)
要在初始加载时预先选择节点,您需要在节点配置中使用state
属性:
{
"id": "nodeid",
"text": "somestring",
"state": { "selected": true }
}
检查从服务器获取的内容并提供给jsTree。我也不知道你在使用这段代码做什么:return { 'IdApplication': $('#AppSelectionne').val() };
。但是如果你想在下载后将state
属性添加到json,你可以尝试使用:return { 'IdApplication': $('#AppSelectionne').val(), 'state': { 'selected': true } };
。