2014-09-02 2 views
0

Это может звучать как любительский вопрос, но я застрял в этом. Я использую jstree, в настоящее время я загружаю данные для jstree как JSON. Я хочу преобразовать JSON в переменную. Как мне это сделать?Как получить данные в jstree с помощью переменной

Это мой код:

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'); 
    }); 
    }); 

Пожалуйста, помогите. Заранее спасибо.

+0

Вы имеете в виду, что хотите замените этот массив JSON переменной, содержащей массив JSON? –

+0

Да точно !! Так что я могу динамически изменять значения в JSON. –

+1

Хорошо, это слишком просто для публикации в качестве ответа. Отрежьте свой блок JSON, замените его на «myvar», затем перед тем, как ваш блок JSTree определит переменную ... «var myvar = [YOURJSONHERE];' –

ответ

1

я не знаю, что вы направляете точно, но я думаю, ваши проблемы с JSON

здесь несколько советов о Json может помочь вам.

  • [] среднего JSON массив
  • {} среднего JSON объект

Код ниже Json Массив можно назвать объекты из него петли или определен ключ

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); 

Надежда эту информацию полезной

+0

Нет, это массив строк. Вам нужно будет разобрать строку как JSON, чтобы использовать ее, как в вашем первом примере –

+0

, вы окружаете объекты с помощью '' 'просто удалите это' '' и его будет действительным массивом json с объектами – Jack

Смежные вопросы