Группировка опций для формы множественного выбора

Мне было интересно, есть ли способ сгруппировать значения параметров в списке с множественным выбором.

Просто для более четкого представления я использую следующий список форм --> 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>';
                    }
                }

person Lawrence    schedule 10.09.2012    source источник
comment
Jquery такой же, как в учебнике.   -  person Lawrence    schedule 10.09.2012
comment
Используйте optgroup, а не <option disabled="disabled". Это также облегчит перемещение параметров в указанную группу параметров.   -  person iambriansreed    schedule 10.09.2012
comment
Привет. спасибо за совет optgroup. Теперь список выглядит намного лучше.   -  person Lawrence    schedule 11.09.2012


Ответы (1)


Вам придется использовать функцию .after() вместо .append(). Как видно из документации, вы можете указать родительский элемент и использовать функцию .after() для размещения выбранный элемент после него.

см. этот пример: http://jsfiddle.net/gntGG/1/

когда вы возвращаете элементы в первый список, они всегда помещаются после первого варианта.

person jeffery_the_wind    schedule 10.09.2012
comment
Привет. Джефф, спасибо за помощь, но я все еще не могу связать это со своим делом. Потому что пользователь сможет выбрать любую из двух групп опций в поле выбора 1 и поместить свои категории в поле выбора 2. Я думаю, мне нужно будет использовать функцию .each для каждой опции: выбрано в выберите поле 2, но я не уверен, как я могу установить условие, чтобы при каждом выбранном значении из выберите поле 2< /b> возвращается, возвращается к соответствующей группе опций. Совет ценится. - person Lawrence; 11.09.2012