根据递归ul中的输入获取表单的序列化数组

时间:2014-10-13 14:28:15

标签: javascript jquery

我有一些问题。 我有这段代码:

<ul>
<li>
    <input name="name" type="radio" />
    <select name="url" size="1"></select>
        <ul>
            <li>
                <input name="name" type="radio" />
                <select name="url" size="1"></select>
                    <ul>
                        <li>
                            <input name="name" type="radio" />
                            <select name="url" size="1"></select>

                        </li>
                    </ul>                    
            </li>
        </ul>        
</li>
<li>
        <input name="name" type="radio" />
        <select name="url" size="1"></select>
            <ul>
                <li>
                    <input name="name" type="radio" />
                    <select name="url" size="1"></select>                   
                </li>
            </ul>        
    </li>  
    <li>
        <input name="name" type="radio" />
        <select name="url" size="1"></select>

    </li>          

我想要一个使用序列键在每个data-id中添加li的js代码,然后输出一个这样的数组

arr = [
    0 => [
            [
                name => ''
                url => '',
                children => [
                    name => ''
                    url => '',
                    children => [
                        name => ''
                        url => '',
                        children => 
                    ] 
                ]
            ],
            [
                name => ''
                url => '',
                children => [
                    name => ''
                    url => '',
                    children => [
                        name => ''
                        url => '',
                        children => 
                    ] 
                ]
            ]            
    ]
]

等等

1 个答案:

答案 0 :(得分:1)

查看https://github.com/corinis/jsForm或其他http://knockoutjs.com/

无论您选择什么,您都需要在标记中设置结构以使这些库正常工作

喜欢

  <input name="children.name">

如果没有任何额外的标记,您需要从头开始编写整个解析 - 尽管像http://www.jquery.com这样的库可能会有所帮助。