2016-02-06 5 views
0

Я был выбран узел в jstree. Я могу получить значение json для выбранных узлов. Но проблема в том, что я хочу родительские узлы дочернего узла, до корняПолучить проверенные и неопределенные узлы

+0

, что вы пробовали до сих пор .. ?? –

+0

Для выбора проверенных узлов я использовал этот код var checked = $ ("# tempor1"). Jstree (true) .get_selected (true); – Sahithya

+0

Но я не могу получить значения родительского узла. поэтому я использовал ниже код. Но он показывает неопределенные $ ("# tempor1"). Find (". Jstree-undetermined"). Each (function (i) { checked.push ($ (this) .parent(). Parent(). Attr (" id ")); }); – Sahithya

ответ

0

Вы можете сделать это с помощью кода, как показано ниже. Проверьте демо - Fiddle.

function getParentNode(node) { 
     return $('#tree').jstree().get_parent(node); 
    } 

    var nodes = $('#tree').jstree().get_selected('full'), parentNodes = [], parentTexts = []; 

    nodes.forEach(function(node) { 
     var parentNode = getParentNode(node); 
     while (parentNode && parentNode !=='#') { 
      if (parentNodes.indexOf(parentNode) === -1) { 
       parentNodes.push(parentNode); 
       parentTexts.push($('#tree').jstree().get_node(parentNode).text); 
      } 
      parentNode = getParentNode(parentNode); 
     } 
}) 

UPDATE

код вы используете может выглядеть следующим образом:

var checked_ids = [], checked_ids1 = []; 
$("#temporary1").find(".jstree-undetermined").each(
    function(i, element) { 
     var nodeId = $(element).closest('.jstree-node').attr("id"); 
     // alert(nodeId); 
     checked_ids.push(nodeId); 
     checked_ids1.push($('#temporary1').jstree().get_node(nodeId).text); 
    } 
); 
+0

Да, хорошо работать. Можете ли вы рассказать мне, как получить текстовые значения вместо Id – Sahithya

+0

Для получения значений неопределенного состояния я использовал эти коды $ ("# tempor1"). Find (". Jstree-undetermined"). Each (function (i, element) { alert ($ (element) .closest ('. jstree-node'). attr ("text")); checked_ids.push ($ (element) .attr ("text")); }); Но я получаю значения как неопределенные. Как я могу получить? – Sahithya

+0

Обычно вы можете получить текст как '$ ('# tree'). Jstree(). Get_node (nodeId) .text);' Обновленный ответ и скрипка. Всегда существует элемент 'root', который не отображается и имеет текст' undefined'. –

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