动态选择列表& PHP数组

时间:2012-05-31 09:10:08

标签: php javascript selectlist

我想创建一个选择列表的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>

1 个答案:

答案 0 :(得分:1)

首先:如果你想在选择框中使用多个,那么这个选择框的名称必须包含尖括号:name="list1[]"name="list2[]" - 这样PHP就会知道这是一个值数组

第二:学习jQuery - 虽然一开始可能看起来很难,但它将在未来为您节省大量时间和浏览器兼容性问题。 jQuery将来会多次保存你的a *。

为了您的目的,我建议不要只使用onchange事件,而是在两个多选框之间实现额外的4个按钮,这些按钮会将所选选项从一个移动到另一个,或者从一个移动到另一个。这种多重选择看起来像下图所示。

MultiSelectBox

通过第一个按钮>>,使用第4个按钮<<将1. select中的所有选项移动到第二个选项,反之亦然。 通过第二个按钮>,只有选定的选项被移动到第二个选择,反之亦然,第三个按钮<

通过这个你只能抓住按钮上的click事件...使用jQuery真的很容易......