php - 如何发布下拉列表中的所有选项

标签 php javascript html

我已将这两个下拉列表编码在一起。一处满国,一处空国。当您单击某个国家/地区并按添加时,该国家/地区将移至空的下拉列表。您可以根据需要多次执行此操作。

但是在提交表单时,我无法访问第二个下拉列表的发布数据。这是我的代码:

JavaScript:

function moveData(dir) {
var sF = document.getElementById(((dir == "back")?"destinationSelect":"sourceSelect"));
var dF = document.getElementById(((dir == "back")?"sourceSelect":"destinationSelect"));
if(sF.length == 0 || sF.selectedIndex == -1) return;
while (sF.selectedIndex != -1) {
    dF.options[dF.length] = new Option(sF.options[sF.selectedIndex].text, sF.options[sF.selectedIndex].value);
    sF.options[sF.selectedIndex] = null;
}
}

HTML:

<select name="sourceSelect[]" id="sourceSelect" size="5"  ondblclick="moveData(); return false;">
<optgroup label="North America">
    <option value="NORTHAMERICA_UNITEDSTATES">United States</option>
    <option value="NORTHAMERICA_BAHAMAS">Bahamas</option>
    <option value="NORTHAMERICA_BARBADOS">Barbados</option>
    <option value="NORTHAMERICA_BELIZE">Belize</option>
    <option value="NORTHAMERICA_CANADA">Canada</option>
    <option value="NORTHAMERICA_COSTARICA">Costa Rica</option>
    <option value="NORTHAMERICA_CUBA">Cuba</option>
</select>   

<input type="submit" name="forward" id="button" value=">>>>" onclick="moveData(); return false;"/>
<input type="submit" name="back" id="button" value="<<<<" onclick="moveData('back'); return false;"/>

<select name="destinationSelect[]" id="destinationSelect" size="5" ondblclick="moveData('back'); return false;">

所以,是的,我不确定如何在表单提交时发布第二个下拉列表,也不知道我需要输入什么才能看到它。就像 echo $_POST['destinationSelect[]'] 不起作用。

最佳答案

提交表单时,不会发送 select 元素中的可用值,而只会发送所选值。

我在这里看到两个选择:

  1. 将项目添加到第二个框中并自动选择它。丑陋,但它有效,除非用户“取消选择”此项目。不过,我不希望你这样做。
  2. 创建隐藏字段来保存项目的值。当您将某个项目“移动”到第二个选择时,您还会将其添加到隐藏字段的值中。此实现更好,因为无论用户如何弄乱第二个 select,它都能正常工作(它将充当可视组件,但不会执行实际工作)。

关于php - 如何发布下拉列表中的所有选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411147/

相关文章:

javascript - 在不破坏功能的情况下打印 c3.js 图表

html - 将 CSS 背景颜色应用于第 n 个 child 3 到 10 的最简单方法

php - 每次 while 循环运行时调用 javascript 以提供来自数据库的唯一时间

javascript - 保护 Javascript/PayPal 结帐表单

php - 未显示警告或通知

PHP cURL - 线程安全吗?

javascript - 如何通过单击按钮全屏播放 YouTube 嵌入式视频?

javascript - 字符串未在 javascript 中返回正确的反向字符串

javascript - cordova媒体插件状态不起作用

javascript - 无法使用 javascript 从输入表单获取值