【问题标题】:Dynamic select list & PHP array动态选择列表和 PHP 数组
【发布时间】:2012-05-31 09:10:07
【问题描述】:

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

【问题讨论】:

  • 你能告诉我们你当前的代码吗?
  • 不确定我是否理解您的问题,您希望选择框的所有值都发送到下一页吗?为什么你不能在下一页再次运行你的数据库查询,或者我错过了什么?
  • @DavidBarker:你有我的问题。但问题是在下一页我没有得到选择框的值。这就是为什么我想创建一个选项数组。这样,我就可以轻松获取下一页的值。

标签: php javascript selectlist


【解决方案1】:

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

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

出于您的目的,我建议不要只使用onchange 事件,而是在两个多选框之间实现额外的 4 个按钮,这些按钮会将选定的选项从一个移动到另一个或全部从一个移动到另一个。这种多选类似于下图。

通过第一个按钮&gt;&gt;,来自 1. select 的所有选项都移动到第二个按钮,反之亦然,使用第四个按钮 &lt;&lt;。 通过第二个按钮&gt;,只有选定的选项被移动到第二个选择中,反之亦然,第三个按钮&lt;

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

【讨论】:

  • 非常感谢您的宝贵建议。我会尽量按照你的建议去做。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
  • 1970-01-01
  • 2011-09-01
  • 2013-05-15
  • 2019-10-11
  • 1970-01-01
  • 2011-04-18
相关资源
最近更新 更多