如何使用变量在jstree中获取数据

时间:2014-09-02 06:04:50

标签: jquery json jstree

这可能听起来像一个业余问题,但我坚持这一点。我正在使用jstree,目前我正在将jstree的数据加载为JSON。我想将JSON转换为变量。我该怎么做?

这是我的代码:

  var treedata = ['{ "id" : "ajson1", "parent" : "#", "text" : "Customer" }', 
   '{ "id" : "ajson2", "parent" : "ajson1", "text" : "Order number" }',
   '{ "id" : "ajson3", "parent" : "ajson1", "text" : "Date" }',      
   '{ "id" : "ajson4", "parent" : "#", "text" : "Company Name" }',
   '{ "id" : "ajson5", "parent" : "#", "text" : "Contact Name" }',
   '{ "id" : "ajson6", "parent" : "#", "text" : "Name1" }',
   '{ "id" : "ajson7", "parent" : "#", "text" : "Product number1" }'];

  $(function () {
    $('#jstree').jstree({
     "checkbox" : {
      "keep_selected_style" : false
    },
    "core" : {
       // so that create works
       //ACITREE
       "check_callback" : true,
       'data' : treedata
     },

     "types" : {
      "default" : {
        "icon" : "none"
      }},

    "plugins" : [ "checkbox","dnd","sort","types",,"crrm"]

    });
    $('#jstree').on("changed.jstree", function (e, data) {
      console.log(data.selected);
       //document.getElementById("test").innerHTML+=data.selected.text;
    });
    // 8 interact with the tree - either way is OK
    $('button').on('click', function () {
      $('#jstree').jstree(true).select_node('child_node_1');
      $('#jstree').jstree('select_node', 'child_node_1');
      $.jstree.reference('#jstree').select_node('child_node_1');
    });
  });

请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我不知道你指的是什么,但我想你的问题是JSON

这里有一些关于Json的提示可以帮到你。

  • []表示JSON数组
  • {}表示json对象

下面的代码是Json Array,你可以通过循环或定义键

来调用它
var treedata = [{ "id" : "ajson1", "parent" : "#", "text" : "Customer" }, 
                { "id" : "ajson2", "parent" : "ajson1", "text" : "Order number" }];

循环获取对象

for(i = 0; i < treedata.length; i += 1) {

    var obj = treedata[i];

     alert(obj.id);
}

通过定义键

来获取对象
alert(treedata[0].id);

如果要将Json对象转换为字符串

var string = JSON.stringify(treedata);

再次转换为Json

var json = JSON.parse(string);

希望这些信息有用