gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:51:07 24 4
gpt4 key购买 nike

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

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

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com