通过AJAX提交动态表格,并将亲戚的价值提供给PHP

tru*_*ero 3 php ajax jquery json html-table

我有一个这样的表格形式:

<table class="table table-striped table-bordered table-condensed">
            <tbody>
                <tr><td><input type="text" class="input-small" name="article" /></td>
                    <td>
                        <select name="colore">
                            <option value="nabuk">Nabuk</option>
                            <option value="nero">Nero</option>
                            <option value="blu">Blu</option>
                            <option value="rosso">Rosso</option>
                        </select>
                     </td>
                    <td>
                        <select name="fondo">
                            <option value="gomma">Gomma</option>
                            <option value="cuoio">Cuoio</option>
                            <option value="legno">Legno</option>
                        </select>
                    </td>
                    <td>
                        <select name="numero">
                            <option value="36">36</option>
                            <option value="37">37</option>
                            <option value="38">38</option>
                            <option value="39">39</option>
                        </select></td>
                    <td><input type="number" class="input-mini" min="1" max="200" name="qnt" step="1" /></td>
                    <td></td>
                </tr>
            </tbody>
        </table>
Run Code Online (Sandbox Code Playgroud)

用户可以使用Jquery脚本向此表添加许多行.这个脚本没问题且工作正常.之后,表格形式通过Ajax post调用提交到具有$('form').serialize();Jquery功能的PHP页面.

问题是:我如何检索每个行字段的值到服务器端(PHP),而不使用隐藏的补充字段(例如,提交表中的行数)或不使用名称的渐进索引行字段?

我还没有找到解释解决方案的东西......:

这个脚本的下一步是将表的值传递给带有JSON对象的PHP ......但这是次要问题:)

Mik*_*ike 5

您可以使用数组.在字段[]末尾命名您的字段.例如,

<select name="colore[]">
...
<select name="fondo[]">
...
<select name="numero[]">
Run Code Online (Sandbox Code Playgroud)

PHP会自动更新索引

$_POST['colore'][0]
$_POST['colore'][1]
$_POST['colore'][2]
etc.
Run Code Online (Sandbox Code Playgroud)