JsTree-grid不显示数据

时间:2016-03-19 20:55:17

标签: javascript php jquery ajax jstree

我正在使用JsTree Ajax延迟加载功能并显示我正在使用的数据JsTree-grid。但是,我遇到了在第二列使用JsTree-grid显示数据的问题。我使用JsTree ajax延迟加载功能通过PHP传递以下JSON数据:

[    
    {
        "id": ​157749,
        "parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo",
        "text": "Script 1: Login",
        "data": {
            "status": "Fail"
        }
    },
    {
        "id": ​104511,
        "parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo",
        "text": "skip",
        "data": {
            "status": "Pass"
        }
    }
]

在Javascript中,我有以下代码:

$('#jstree').jstree({
    plugins: ['grid'],
        'grid': {
             'columns': [
                 {
                     'width': 50,
                     'header': 'Nodes'
                 },
                 {
                     'width': 30,
                     'header': 'Status',
                     'value': function (node) {
                         return (node.status);
                     }
                 }
             ]
         },
         'core' : {
             'data' : {
                 "url" : function (node) {
                     return node.id === '#' ? 'node' : 'tree/' + node.id;
                 },
                 'data' : function (node) {
                     return { 'id' : file.id, 'title' : file.title };
                 },
                 "dataType" : "json"
             }
         }
     });

注意:当我在控制台上记录节点时:'value': function (node) { console.log(node); }我在控制台上得到以下结果:

Object { status: "Fail" }
Object { status: "Pass" }

我想在第二个JsTree-grid列上显示status 通过失败。但是,JsTree网格没有显示数据,我甚至没有在控制台上收到任何错误。请有人帮我解决我想要达到的目标。

1 个答案:

答案 0 :(得分:1)

我在这里看到两个问题:

  1. "parent": "Sheet1.worksheet1webs44lx8GbsHu9igMc2vM_qWJqhePuo257PKZm_6Uo";你的json没有这些节点的父母
  2. 您不需要此处的功能 - 'value': function (node) { return (node.status); },只需使用'value': 'status'
  3. 修好这两个问题后,请查看演示 - Fiddle