JsTree 3.2.1复选框问题

时间:2016-01-12 15:25:54

标签: asp.net-mvc jstree

我正在使用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 }

        });

但预先选定的节点不起作用请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

要在初始加载时预先选择节点,您需要在节点配置中使用state属性:

{
  "id": "nodeid",
  "text": "somestring",
  "state": { "selected": true }
}

检查从服务器获取的内容并提供给jsTree。我也不知道你在使用这段代码做什么:return { 'IdApplication': $('#AppSelectionne').val() };。但是如果你想在下载后将state属性添加到json,你可以尝试使用:return { 'IdApplication': $('#AppSelectionne').val(), 'state': { 'selected': true } };