多选表单的选项分组

时间:2012-09-10 13:09:11

标签: php jquery html forms multi-select

我想知道是否有办法在多选列表中对选项值进行分组。

为了更清晰的观点,我使用以下表格列表 - > http://blog.jeremymartin.name/2008/02/easy-multi-select-transfer-with-jquery.html#

我即兴创作了上述脚本,以便有一定数量的子类别的父类别。所以说例如::家具。 儿童:椅子,桌子,抽屉,柜子,床。

我能够通过php编写代码来显示一个非常漂亮的选择表单列表,其中的类别由他们的父母分隔,但当我尝试将它们从选择框2中移回选择框1通过jquery时出现问题。追加只是将我的子类别返回到列表的底部。

无论如何要做到这一点,当用户点击删除按钮时,该类别将返回到其自己的父级而不是列表的底部。

以下是需要它的人的代码。

                //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>';
                    }
                }

1 个答案:

答案 0 :(得分:0)

您必须使用.after()功能而不是.append()As you can see in the docs,您可以指定父元素并使用.after()函数将所选元素放在其后面。

请参阅此示例:http://jsfiddle.net/gntGG/1/

当您将元素返回到第一个列表时,它们始终位于第一个选项之后。