1

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

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

我即兴创作了上面的脚本,以便为一定数量的子类别提供一个父类别。所以说例如:父母:家具。儿童:椅子、桌子、抽屉、橱柜、床。

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

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

以下是需要的人的代码。

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

1 回答 1

0

您将不得不使用该.after()函数而不是.append(). 正如您在 docs 中看到的,您可以指定父元素并使用该.after()函数将所选元素放在其后面。

看这个例子:http: //jsfiddle.net/gntGG/1/

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

于 2012-09-10T13:24:06.277 回答