【问题标题】:Rails - how to serialize a tree not in a formRails - 如何序列化不在表单中的树
【发布时间】:2010-05-04 19:28:18
【问题描述】:

我从标准的脚本拖放树开始,一切正常。

然后开始实现这个: http://www.artweb-design.de/2008/5/30/scriptaculous-sortabletree 这提供了一个很好的拖放树

我卡住的地方是如何序列化树(无序列表)?它不在表单中,我找不到将其序列化以继续设置 AJAX 更新的方法。

【问题讨论】:

    标签: 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) ;
    
    } ;
    

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 2010-11-03
      • 1970-01-01
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 2011-03-26
      相关资源
      最近更新 更多