2014-08-28 8 views
5

Io sto cercando di ottenere nodo padre in oggetto JSON da bambino si JSON sto ottenendo dal client è una gerarchia di directory multilivello la gerarchia è comeOttenere nodo principale da oggetto JSON con jQuery

Root 
    - 
    -Folder-1 
      -folder1(a) 
      -folder1(b) 
    -folder-2 
    -folder-3 
      -folder3(a) 

cosa che voglio è, quando ho messo folder3(a) 's id mi dovrebbe dare folder-3' s id e il nome

Ecco il violino con l'oggetto reale jSONhttp://jsfiddle.net/jftrg9ko/

risposta

3

Devi comunque cercare attraverso l'albero in modo da ricordare solo il genitore e restituirlo se hai trovato il bambino giusto.

I giocherellava qualcosa: http://jsfiddle.net/jftrg9ko/1/

function getParent(tree, childNode) 
{ 
    var i, res; 
    if (!tree || !tree.folder) { 
     return null; 
    } 
    if(Object.prototype.toString.call(tree.folder) === '[object Array]') { 
     for (i in tree.folder) { 
      if (tree.folder[i].id === childNode) { 
       return tree; 
      } 
      res = getParent(tree.folder[i], childNode); 
      if (res) { 
       return res; 
      } 
     } 
     return null; 
    } else { 
     if (tree.folder.id === childNode) { 
      return tree; 
     } 
     return getParent(tree.folder, childNode); 
    } 
} 
+0

questo è esattamente quello che stavo cercando, grazie mille .. :) –

Problemi correlati