2012-01-07 3 views
-1

Я сделал div на основе <select /> коробок, чтобы они могли работать как кросс-браузер ui. Проблема в том, что я не могу определить, как фильтровать вложенные selectboxes внутри других selectboxes. Я имею в виду, чтобы они работали только для элемента clicked, а не для childs.Вложенные несколько полей выбора

Вот демо: http://jsfiddle.net/aspirinemaga/ejyRR/

Хотелось бы, чтобы заставить их работать таким образом:

<div class="gui-selectbox"> 
    SELECTBOX1 
    <div class="gui-selectbox">SELECTBOX2</div> 
</div> 

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

EDIT - второе демо: http://jsfiddle.net/aspirinemaga/ejyRR/2/

ответ

1

Количество вопросов здесь

  1. Ваше открытие нажмите событие должно быть на .gui-selectbox-button, не .gui-selectbox и она должна возвращать ложь, чтобы убедиться, что он не распространяется.
  2. Вы всегда звоните gui_selectbox_closeAll. Вам необходимо закрыть все это. не являются родителями целевой. Исправлено: $('.gui-selectbox-dialog:visible').not($(event.target).parents('.gui-selectbox-dialog')). Сделайте аналогичную вещь для кнопки.
  3. Ваш gui_selectbox_listAction устанавливает значение для всех родителей. Вместо этого вы должны использовать closest().
+0

Попытка сделать то, что вы сказали, но не может преуспеть. 1-й и 2-й выпуск в порядке, но третий я не могу решить. Вот ** [ссылка] (http://jsfiddle.net/aspirinemaga/ejyRR/2/) **. Не могли бы вы предоставить мне код для третьего? Спасибо – aspirinemaga

+0

Просто замените 'parents()' call на 'ближайшее()'. –

+0

, похоже, что-то не так в другой части кода, потому что он не работает. – aspirinemaga

Смежные вопросы