下拉列表通过单击选择多个帖子顺序

时间:2013-06-18 09:57:33

标签: php javascript yii

我有这样的下拉:

<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 )

任何人都知道怎么做?

1 个答案:

答案 0 :(得分:3)

我有一个解决您问题的方法。尝试多个复选框而不是选择框。并调用一个函数onclick,它在一个hiddenbox中分配一个订单值。在您的PHP脚本中,使用该隐藏框的引用来安排该值。你可以试试这个小例子。

<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>

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