Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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_Yii - Fatal编程技术网

Php 下拉菜单单击选择多个邮政订单

Php 下拉菜单单击选择多个邮政订单,php,javascript,yii,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=

我有这样一个下拉列表:

<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>
我想这样分类

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

有人知道怎么做吗?

我有办法解决你的问题。尝试多个复选框,而不是选择框。并调用函数onclick,该函数在hiddenbox中指定订单值。在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>

功能集\顺序(val)
{
var order_val=document.getElementById('order_val').value;
如果(订单值=“”)
{
订单_val=val;
}
其他的
{
订单价=订单价+“,”+val;
}
警报(订单价值);
document.getElementById('order_val')。value=order_val;
}
身份证件
FN
N_家族
N_给定

在这里,您必须修改取消选中事件的脚本位。在未选中状态下,必须从列表中删除该值。希望对您有所帮助。

您想在表单提交后订购,还是在用户交互后?表单提交后订购。表单提交后,我不需要更改selectbox中的顺序。如果用户取消选择,会发生什么情况?必须在之前完成,每次单击都需要对选项中的元素重新排序,那么之前如何排序?我只是需要他们,我能帮上忙。我只需要看看如何用yii来做这件事。我是yii的初学者,这是个问题,但我喜欢你的想法。谢谢@MrCkobe,我用选择框尝试了这个方法,然后选择了复选框。我实现了你的想法,但你能告诉我如何取消选中吗?请参阅此链接。对不同的复选框使用不同的id,并使用这些id从字符串中删除。我创建所有内容。再次感谢你。
<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>