2010-05-04 3 views
0

표준 드래그 앤 드롭 트리를 사용하여 작업을 시작 했으므로 정상적으로 작동합니다. 좋은 드래그를 제공 http://www.artweb-design.de/2008/5/30/scriptaculous-sortabletree 내가 끼 었어레일 - 양식이 아닌 트리를 serialize하는 방법

방법 트리 (순서없는 목록) 직렬화 얻을 것입니다 나무 드롭 :

다음이 구현 시작? 그것은 형식이 아니며 AJAX 업데이트를 설정하기 위해 일련 화하는 방법을 찾을 수 없습니다.

답변

0

글쎄, 여기에 내가 개발 한 대답이있다. 물론 더 좋은 방법이 있습니다.

function walk_tree(node, parent_stem, at_root) { 

    if (node == null || node == undefined || $(node) == undefined) 
     return ; 

    var i = 0 ; 
    var serialized_tree = '' ; 
    var stem = '' ; 

    // loop through siblings 
    do { 

     // build up the serialized statement for this node 
     stem = parent_stem + '[' + i + ']' ; 
     serialized_tree += (at_root ? '' : '&') + stem + '[id]=' + $(node).identify().gsub('page_','') 

     // if node has children, then recurse... 
     if ($(node).down('li') != undefined) 
      serialized_tree += walk_tree($(node).down('li'), stem, false) ; 

     // carry on finding siblings 
     node = $(node).next('li') ; 
     i++ ; 
    } while ($(node) != undefined) ; 

    return(serialized_tree) ; 

} ;