Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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_Jquery_Html_Forms_Multi Select - Fatal编程技术网

Php 多选表单的选项分组

Php 多选表单的选项分组,php,jquery,html,forms,multi-select,Php,Jquery,Html,Forms,Multi Select,我想知道是否有办法将选项值分组到多选列表中 为了更清晰地查看,我使用了以下表单列表--> 我临时编写了上面的脚本,以便在一定数量的子类别中有一个父类别。比如说:家长:家具儿童:椅子、桌子、抽屉、橱柜、床 我可以通过php对其进行编码,以显示一个非常漂亮的选择表单列表,其中的类别由它们的父级分隔,但当我尝试通过jquery将它们从选择框2移回到选择框1时,问题就出现了。追加只需将my child类别返回到列表的底部 不管怎样,当用户单击“删除”按钮时,类别将返回到它自己的父项下,而不是列表的底部

我想知道是否有办法将选项值分组到多选列表中

为了更清晰地查看,我使用了以下表单列表-->

我临时编写了上面的脚本,以便在一定数量的子类别中有一个父类别。比如说:家长:家具儿童:椅子、桌子、抽屉、橱柜、床

我可以通过php对其进行编码,以显示一个非常漂亮的选择表单列表,其中的类别由它们的父级分隔,但当我尝试通过jquery将它们从选择框2移回到选择框1时,问题就出现了。追加只需将my child类别返回到列表的底部

不管怎样,当用户单击“删除”按钮时,类别将返回到它自己的父项下,而不是列表的底部

下面是为那些需要它的人编写的代码

                //GET CATEGORIES SELECT OPTIONS
                                            .
                                            .
                                      Database Query
                                            .
                                            .
                foreach($cat_values as $opt_values){
                                               .
                                               .
                          Database Query to check if Category have parent.
                       $cat_is_parent == "0" means the option value is the parent.
                                               .
                                               .
                    if($cat_is_parent == "0"){
                        echo '<option disabled="disabled" value="'.$opt_values[0].'" style="font-size:15px">'.$opt_values[1].'</option>';  
                    }
                    else{
                        echo '<option value="'.$opt_values[0].'">-->'.$opt_values[1].'</option>';
                    }
                }
//获取类别选择选项
.
.
数据库查询
.
.
foreach($cat_值作为$opt_值){
.
.
数据库查询以检查类别是否有父类别。
$cat_is_parent==“0”表示选项值为父项。
.
.
如果($cat_is_parent==“0”){
回显“.$opt_值[1]”;
}
否则{
回显“-->”。$opt_值[1]”;
}
}

您必须使用
.after()
函数,而不是
.append()
,您可以指定父元素,并使用
.after()
函数将选定元素放置在其后面

请参见此示例:


当您将元素返回到第一个列表时,元素总是放在第一个选项之后。

jquery与教程中的相同。请不要使用
Hi。感谢optgroup的建议。现在名单看起来好多了。嗨。杰夫,谢谢你的帮助,但我还是不能把它和我的案子联系起来。因为用户可以从选择框1中的2个选项组中的任意一个进行选择,并将其类别放置在选择框2下。我想我需要使用。每个选项的每个函数:在选择框2中选择,但不确定如何设置条件,以便当选择框2中的每个选定值返回时,它返回到各自的optgroup。谢谢你的建议。