1

我有一个这样的下拉菜单:

<select id="fieldnames" name="fieldnames[]" size="4" multiple="multiple">
<option value="id">id</option>
<option value="FN">FN</option>
<option value="N_FAMILY">N_FAMILY</option>
<option value="N_GIVEN">N_GIVEN</option>
</select>

我想通过单击对选定的值进行排序。例如,如果我点击 N_GIVEN,然后是 id,默认情况下它会这样排序:

Array ([0] => id [1] => N_GIVEN )

我想像这样排序

Array ([0] => N_GIVEN [1] => id )

有人知道怎么做吗?

4

1 回答 1

3

对于你的问题,我有一个解决方案。尝试多个复选框而不是选择框。并调用 onclick 函数,在隐藏框中分配订单值。在您的 php 脚本中,使用该隐藏框的参考来安排 vale。您可以尝试使用一个小示例。

<script>
    function set_order(val)
    {
            var order_val = document.getElementById('order_val').value;

            if(order_val=="")
            {
                order_val = val;
            }
            else
            {
                  order_val = order_val+","+val; 

            }
              alert(order_val); 
              document.getElementById('order_val').value = order_val;    
    }

 </script>


 <input type="text" name="order_val" id="order_val">

<input type="checkbox" name="fieldnames[]" value="id" onclick="set_order(this.value)" /> <label>id</label>
<input type="checkbox" name="fieldnames[]" value="FN" onclick="set_order(this.value)"  />  <label>FN</label> 
<input type="checkbox" name="fieldnames[]" value="N_FAMILY" onclick="set_order(this.value)"  /> <label>N_FAMILY</label> 
<input type="checkbox" name="fieldnames[]" value="N_GIVEN" onclick="set_order(this.value)"  /><label>N_GIVEN</label>

在这里,您必须修改脚本位以取消选中事件。在未选中的情况下,您必须从列表中删除该值。希望它会帮助你。

于 2013-06-18T10:38:42.887 回答