我想创建一个选择列表的PHP数组。该列表具有动态选项,选项在javascript的帮助下填充。我想在下一页上获得所有选项。 所以我想创建一个选项数组。有没有其他方法来完成这些东西? 有人可以帮帮我吗?非常感谢你。
<script type = "text/javascript">
var val = "";
function removeOptions(selectbox) {
val = selectbox.value;
for (var i = selectbox.options.length-1; i>=1; i--) {
if (selectbox.options[i].selected) {
addOption(document.form1.list2,val,val);
selectbox.remove(i);
document.form1.list1.focus();
}
}
}
function addOption(selectbox,optiontext,optionvalue ){
var optn = document.createElement("OPTION");
optn.text = optiontext;
optn.value = optionvalue;
selectbox.options.add(optn);
}</script>
//list1
<select name="list1" size="7" multiple="multiple" id="jumpMenu" onchange="removeOptions(this)" style="width:200px">
<option>Choose Area...</option>
<?php foreach($dbh->query($sql) as $row){
$a=$row['name'];?>
<option value="<?php echo $a?>"><?php echo $a?></option>
<?php }?>
</select>
//list2
<select name="list2" size="7" multiple="MULTIPLE" id="list2" style="width:170px">
</select>
答案 0 :(得分:1)
首先:如果你想在选择框中使用多个,那么这个选择框的名称必须包含尖括号:name="list1[]"
和name="list2[]"
- 这样PHP就会知道这是一个值数组
第二:学习jQuery - 虽然一开始可能看起来很难,但它将在未来为您节省大量时间和浏览器兼容性问题。 jQuery将来会多次保存你的a *。
为了您的目的,我建议不要只使用onchange
事件,而是在两个多选框之间实现额外的4个按钮,这些按钮会将所选选项从一个移动到另一个,或者从一个移动到另一个。这种多重选择看起来像下图所示。
通过第一个按钮>>
,使用第4个按钮<<
将1. select中的所有选项移动到第二个选项,反之亦然。
通过第二个按钮>
,只有选定的选项被移动到第二个选择,反之亦然,第三个按钮<
。
通过这个你只能抓住按钮上的click事件...使用jQuery真的很容易......