【问题标题】:Rails - how to serialize a tree not in a formRails - 如何序列化不在表单中的树
【发布时间】:2010-05-04 19:28:18
【问题描述】:
【问题讨论】:
标签:
ruby-on-rails
ajax
prototypejs
scriptaculous
【解决方案1】:
嗯,这是我开发的答案,以防其他人不得不处理这个问题。当然有更好的方法来做到这一点等等。
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) ;
} ;