Jquery多个select / input post数组数据

时间:2011-05-02 23:19:24

标签: php jquery forms select input

我有这种情况:

        <div id="art_select">
        <!-- start row 1 -->
             <select name="articolo[]" id="first" class="art">
                        <option value="">Select product</option>
                        <option value="2">IN FERMENTUM ANTE SIT AMET LOREM ELEMENTUM AC ELEIFEND AMET.</option>
            <option value="1">NUNC ID PORTTITOR ARCU. CRAS CONVALLIS ULLAMCORPER VOLUTPAT.</option>
                                    </select>
                                    <input type="text" name="qta[]" id="qta-2"><br>
         <!-- end row 1 -->
 <!-- start row 2 -->
        <select name="articolo[]" class="art">
                                    <option value="">Select product</option>
                                    <option value="2">IN FERMENTUM ANTE SIT AMET LOREM ELEMENTUM AC ELEIFEND AMET.</option>
            <option value="1">NUNC ID PORTTITOR ARCU. CRAS CONVALLIS ULLAMCORPER VOLUTPAT.</option>
                                    </select><input type="text" name="qta[]" id="qta-1">
        <!-- end row  2-->
 </div>
    <a href="#" onclick="return addprd(this)">+ Add row</a>

添加行链接添加新的选择/ qta输入文本。

何我可以发布此表格的数据? (我用的是php)。一个key =&gt;数组价值foreach行。??  这样做最好的方法是什么? THANKSS

1 个答案:

答案 0 :(得分:0)

为每个输入命名,例如row[0][qta]row[0][articolo],为每个新行增加该数字。

然后,假设POST,您将拥有$_POST['row']下的数据。

您应该将包装在div中以简化操作。

每次添加或删除行时都可以调用此JavaScript函数,以便正确重新编号name属性。

只要你制作第一个0

var renumberInputs = function() {
    $('#art_select > div').each(function(index) {
        $(this).find(':input').attr('name', function(i, name) {
            return name.replace(/\[\d+\]/, '[' + index + ']');
        });
    });
}