Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态选择列表&;PHP数组_Php_Javascript_Selectlist - Fatal编程技术网

动态选择列表&;PHP数组

动态选择列表&;PHP数组,php,javascript,selectlist,Php,Javascript,Selectlist,我想创建一个选择列表的PHP数组。该列表具有动态选项,这些选项在javascript的帮助下填充。我想在下一页获得所有选项。 所以我想创建一个选项数组。有没有其他方法来完成这件事? 有人能帮我吗?事先非常感谢你 <script type = "text/javascript"> var val = ""; function removeOptions(selectbox) { val = selectbox.value; for (var i = selectbox.optio

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

var val=“”;
功能移除选项(选择框){
val=selectbox.value;
对于(变量i=selectbox.options.length-1;i>=1;i--){
如果(selectbox.options[i].选中){
addOption(document.form1.list2,val,val);
选择框。删除(i);
document.form1.list1.focus();
}
}
}
功能添加选项(selectbox、optiontext、optionvalue){
var optn=document.createElement(“选项”);
optn.text=optiontext;
optn.value=optionvalue;
选择框。选项。添加(optn);
}
//清单1
选择区域。。。

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

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

出于您的目的,我建议您不要仅使用
onchange
事件,而是在两个MultiSelectBox之间实现额外的4个按钮,以将所选选项从一个移动到另一个,或将所有选项从一个移动到另一个。这种多选功能与下图所示类似


通过第一个按钮
>
从1中选择所有选项。首先,使用第四个按钮将select移动到第二个按钮,反之亦然:如果要将multiple与select box一起使用,则此selectbox的名称必须包含尖括号:
name=“list1[]”和
name=“list2[]”
-这样PHP就会知道这是一个值数组

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

出于您的目的,我建议您不要仅使用
onchange
事件,而是在两个MultiSelectBox之间实现额外的4个按钮,以将所选选项从一个移动到另一个,或将所有选项从一个移动到另一个。这种多选功能与下图所示类似


通过第一个按钮
>
从1中选择所有选项。选择框移动到第二个,反之亦然,使用第四个按钮
可以显示您当前的代码吗?我不确定我是否理解您的问题,您想将选择框的所有值发送到下一页吗?为什么你不能在下一页再次运行数据库查询,或者我遗漏了什么?@DavidBarker:你明白我的问题了。但问题是在下一页我没有得到选择框的值。这就是为什么我要创建一个选项数组。这样,我就可以很容易地在下一页上获取值。您能给我们看一下您当前的代码吗?我不确定我是否理解您的问题,您想将选择框的所有值发送到下一页吗?为什么你不能在下一页再次运行数据库查询,或者我遗漏了什么?@DavidBarker:你明白我的问题了。但问题是在下一页我没有得到选择框的值。这就是为什么我要创建一个选项数组。这样,我就可以很容易地在下一页上获得这些值。非常感谢您提出的宝贵建议。我会尽力按照你的建议去做。非常感谢你的宝贵建议。我会尽力按照你的建议去做。非常感谢你。