如果我有多个select,其中multiple设置为true,我如何在表单中命名我的选择。
这是一个例子:
<form action="/product/create" method="post">
<table>
<tr>
<td>
<input type="text" name="product[name]">
</td>
<td>
<select name="product[taxes]" multiple>
<option value="1">Tax A</option>
<option value="2">Tax B</option>
<option value="3">Tax C</option>
</select>
</td>
<td>
<input type="text" name="product[price]">
</td>
</tr>
<tr>
<td>
<input type="text" name="product[name]">
</td>
<td>
<select name="product[taxes]" multiple>
<option value="1">Tax A</option>
<option value="2">Tax B</option>
<option value="3">Tax C</option>
</select>
</td>
<td>
<input type="text" name="product[price]">
</td>
</tr>
<tr>
<td>
<input type="text" name="product[name]">
</td>
<td>
<select name="product[taxes]" multiple>
<option value="1">Tax A</option>
<option value="2">Tax B</option>
<option value="3">Tax C</option>
</select>
</td>
<td>
<input type="text" name="product[price]">
</td>
</tr>
</table>
现在,如果我为每种产品选择多种税。我如何知道为每条线选择了哪些税,因为所有选定的项将合并为一个数组。
这是我得到的帖子的正文:
{
'product[name]': [ 'test1', 'test2', 'test3' ],
'product[taxes]': [ '1', '2', '1', '3', '2' ],
'product[price]': [ '1', '2', '3' ]
}
答案 0 :(得分:0)
由于多重选择可以发送 0-n 结果,因此无法根据数据中值的位置区分具有相同名称的多个控件。
您需要为名称或所有值添加一些识别标记。
name="rowId-product[name]"
......可能最简单。 (其中rowId是前缀为其中每个控件名称的行的标识符。)