我有多选的选择框选项列表。
<select multiple="MULTIPLE" size="20" name="facilities[]">
<option id="idOne" value="Value One">Value One</option>
<option id="idTwo" value="Value Two">Value Two</option>
<option id="idThree" value="Value Three">Value Three</option>
</select>
我已经完成了可以将值存储到我的数据库中的数组的PHP代码,但是...我现在想要的是,可以使用选项中的ID作为数组的键,所以当你存储数组看起来像下面的样本
array('idOne'=>'Value One', 'idTwo'=>Value Two, 'idThree'=>'Value Three')
而不是array([0]=>'Value One', [1]=>Value Two, [2]=>'Value Three')
(我现在得到的)。
任何帮助都会非常感激:)
抱歉我的英语不好。
答案 0 :(得分:0)
根据定义,只有value
代码的option
将在您的POST中传递。这里有几个选项
首先,您需要知道另一端的值并将它们结合起来。这可能是更多的工作,但您将始终拥有所选值的列表。
$vals = array('idOne'=>'Value One', 'idTwo'=>'Value Two', 'idThree'=>'Value Three');
foreach($vals as $key => $row) {
if(array_search($row, $_POST['facilities']) === false) unset($vals[$key]);
}
第二种方法是使用JavaScript并构建一个选定的text
值列表和POST(通过隐藏字段或使用AJAX)。这样做风险更大,因为数据会在客户手中,但仍然可行。