从HTML选择列表中获取所有选项

3

我需要从一个非常大的HTML下拉列表中创建PHP数组。我搜索了“下拉列表转数组”的生成器和程序,但找不到任何东西。请问有人能提供一个PHP代码吗?我可以使用它来获取HTML下拉列表中的所有选项,并输出它们的数组。

更新:PHP或JS。任何可以输出数组的东西,我都可以复制并粘贴到我的脚本中。


你是用JavaScript还是PHP脚本创建选择框? - topherg
这里有非常多的选项,是多少?25、50、200、1000还是更多? - Smamatti
它显然非常大。我们可以说大约200。 - CyberJunkie
2个回答

4

在选择名称中包含方括号;PHP将接受您的选择作为数组:

<?php print_r($_GET['cars']);?>

<form>
<select name="cars[]" multiple="multiple" size="5">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select> 
<input type="submit" />
</form>

提交后,print_r输出以下内容(根据选择而定):

Array ( [0] => saab [1] => mercedes ) 

2
我不确定原帖作者是否想要那个。 - Alix Axel
这是针对多选项而不是下拉框的。 - topherg
谢谢Mike,这很接近我所需的。我正在尝试获取选项的名称而不是值。在大多数情况下,值只是数字。 - CyberJunkie

1

如果是JavaScript:

document.getElementById(<!--the_id_of_the_select-->)。选项,只需将其视为将在表单处理的onsubmit阶段期间创建并附加(document.createElement('input'),document.forms [0] .appendChild(previous_item))的数组。

或者在PHP中:

当您循环遍历在选择区域中创建的选项标记时,只需执行第二个foreach并在表单的其他位置创建一堆隐藏元素即可。

对于两者都可以,而不是大量带有特定前缀的隐藏输入,您可以创建一个列出所有选项的csv格式或类似内容的单个输入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接