1

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

1 回答 1

1

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

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

出于您的目的,我建议不仅使用onchange事件,而且在两个多选框之间实现额外的 4 个按钮,这些按钮会将选定的选项从一个移动到另一个或全部从一个移动到另一个。这种多选看起来如下图所示。

多选框

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

通过这个你只能捕捉到按钮上的点击事件......使用jQuery真的很容易......

于 2012-05-31T10:56:06.743 回答