select/index.js
function _mergeListInfo(list) {
            var arr = [];
            var info = {};
            for(var i=0,len=list.length; i<len; i++) {
                arr.push('<li data-value="'+list[i].value+'">' + list[i].name + '</li>');

                info[i] = list[i].list ? _mergeListInfo(list[i].list) : {length: 0};
            }
            info.length = i;
            info.content = arr.join('');

            return info;
        }
function _mergeListInfo(list) {
            var arr = [];
            var info = {};
            for(var i=0,len=list.length; i<len; i++) {
                arr.push('<li data-value="'+list[i].value+'">' + list[i].name + '</li>');

                info[i] = list[i].list ? _mergeListInfo(list[i].list) : {length: 0};
            }
            info.length = i;
            info.content = arr.join('');

            return info;
        }
function _mergeListInfo ( list ) { var arr = [ ] ; var info = { } ; for ( var i = 0 , len = list . length ; i < len ; i ++ ) { arr . push ( '<li data-value="' + list [ i ] . value + '">' + list [ i ] . name + '</li>' ) ; info [ i ] = list [ i ] . list ? _mergeListInfo ( list [ i ] . list ) : { length : 0 } ; } info . length = i ; info . content = arr . join ( '' ) ; return info ; }
merge options list
merge options list