![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Frozen_Coyote |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 20.9.2007 Репутация: нет Всего: нет |
Друзья, помогите плиз логику ухватить - что то не соображу никак
Есть страница с произвольным количеством select-ов Мне необходимо чтобы jquery слушал их состояние и если в какой либо из них добавляется динамически новый option (ид родительского select заранее неизвестно, подчеркиваю, равно как и их количество на паге) - ну пусть там alert подаст, к примеру, с ид этого select спасибо |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 2 Всего: 45 |
Ну кто-то же добавляет эти option, вот туда и пиши alert(); |
|||
|
||||
Frozen_Coyote |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 20.9.2007 Репутация: нет Всего: нет |
нене, смотри какая штука:
я пишу плагин. Плагин не знает о том, сколько селектов будет на странице. Он подключается и при первичной загрузке преобразует стандартные дропы в мои симпатичненькие. Ид этого моего симпатичненького базируется на ид реального селекта (ну к примеру #название_моего_плагина_ид_юзерского_селектора). Но пользователь, кторый захочет к примеру поюзать мой плагин, может со своими селектами творить разные вещи - например динамически добавить в своих кодах новый опшн своему. И мой плагин должен это прочекать и сразу же добавить опшн-эмулятор в преобразованный мой симпатичненький, понимаешь? Ид которым юзер захочет обозвать свой селект я само собой не знаю - надо как то слушать все селекты и при изменение в каком то из них количества опшн - принять меры - либо добавть опшн эмулятор - либо удалить. Как добавлять удалять - я преркасно знаю, но как отловить куда именно - не пойму никак Я конечно могу превратно понимать логику процесса - буду признателен за корректировку. Но видится все как то так. Селектор эмулятор сделан на слоях Это сообщение отредактировал(а) Frozen_Coyote - 12.12.2011, 14:01 |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 2 Всего: 45 |
Теперь понятно
Задача нестандартная, нужно подумать |
|||
|
||||
Frozen_Coyote |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 20.9.2007 Репутация: нет Всего: нет |
Дмитрий, как вариант работоспособный (не знаю, насколько он грамотный) при инициализации плагина я вначале всего кода указал плагину что "дружок, а пробегись ка по существующим селектам и удали ка все мои симпапульки на div ах нахрен, а далее инициализируйся и конвертируй опять стандартные элементы в нестандартные". Логика такова: при первичной загрузке страниц упираясь в этот код плагин само собой ничего не находит (он же на ready сработал - все еще нецеловано, как говорится) и спокойно все конвертирует в мою так сказать, красоту.
Далее Если пользователь вознамерился динамически работать со своими селектами, то ему надо просто после каждого динамического добавления - удаления нового оптиона вызвать опять функцию-инициализатор плагина и вот тут то уже упираясь в вышеозначенный код, плагин вначале всю красоту удаляет (а новый опшн то уже добавлен в реальный селект и затем конвертирует все опять в красоту, но вместе с добавленным опшном.. Как то вот так Но конечно если найдется способ пасти количество опшнов каждого селекта и отработки не всего набора на странице а конкретного - будет круче само собой Это сообщение отредактировал(а) Frozen_Coyote - 12.12.2011, 15:41 |
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 2 Всего: 45 |
Обычно при написании подобных плагинов разработчик дает СВОЙ api для добавление option. Поэтому у пользователя нет потребности подключать что-то еще
Ну ведь интерес как раз в том чтобы найти способ вклинится в чужой обработчик! ![]() |
|||
|
||||
Frozen_Coyote |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 20.9.2007 Репутация: нет Всего: нет |
я вот и не знаю - красиво ли это будет заставлять юзера после любой своей динамической процедуры со своими дропдауном вызывать опять инициализатор для перелопачивания. может все же есть способ отработать изменение конкретного select а . ))
|
|||
|
||||
$дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 2 Всего: 45 |
Кроме как изменинения количество пунктов в списке, что там еще менять? |
|||
|
||||
Frozen_Coyote |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 20.9.2007 Репутация: нет Всего: нет |
да нет, количество пунктов через плагин никак не указывается.. пока из параметров в плагин на пользовательский выбор передаются цвет активного бэкграунда для выбранного пункта и активного цвета фонта.. далее будет видно ))
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |