我有多个选择的selectbox选项列表
<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')
(这是我现在得到的)。
任何帮助都将非常感激:)
对不起,我的英语不好。
根据定义,只有option
标签的value
将在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)。这样做风险更大,因为数据掌握在客户手中,但仍然是可行的。