Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jquery и изменение количества option в select, как отловить? 
:(
    Опции темы
Frozen_Coyote
Дата 12.12.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



Друзья, помогите плиз логику ухватить - что то не соображу никак

Есть страница с произвольным количеством select-ов 

Мне необходимо чтобы jquery слушал их состояние и если в какой либо из них добавляется динамически новый option (ид родительского select заранее неизвестно, подчеркиваю, равно как и их количество на паге) - ну пусть там alert подаст, к примеру, с ид этого select

спасибо
PM MAIL   Вверх
$дмитрий
Дата 12.12.2011, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Цитата

и если в какой либо из них добавляется динамически новый option

Ну кто-то же добавляет эти option, вот туда и пиши alert();
PM MAIL   Вверх
Frozen_Coyote
Дата 12.12.2011, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



нене, смотри какая штука:

я пишу плагин. Плагин не знает о том, сколько селектов будет на странице. Он подключается и при первичной загрузке преобразует стандартные дропы в мои симпатичненькие. Ид этого моего симпатичненького базируется на ид реального селекта (ну к примеру #название_моего_плагина_ид_юзерского_селектора). Но пользователь, кторый захочет к примеру поюзать мой плагин, может со своими селектами творить разные вещи - например динамически добавить в своих кодах новый опшн своему. И мой плагин должен это прочекать и сразу же добавить опшн-эмулятор в преобразованный мой симпатичненький, понимаешь? Ид которым юзер захочет обозвать свой селект я само собой не знаю - надо как то слушать все селекты и при изменение в каком то из них количества опшн - принять меры - либо добавть опшн эмулятор - либо удалить. Как добавлять удалять - я преркасно знаю, но как отловить куда именно - не пойму никак

Я конечно могу превратно понимать логику процесса - буду признателен за корректировку. Но видится все как то так. Селектор эмулятор сделан на слоях

Это сообщение отредактировал(а) Frozen_Coyote - 12.12.2011, 14:01
PM MAIL   Вверх
$дмитрий
Дата 12.12.2011, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Теперь понятно
Задача нестандартная, нужно подумать
PM MAIL   Вверх
Frozen_Coyote
Дата 12.12.2011, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



Дмитрий, как вариант работоспособный (не знаю, насколько он грамотный) при инициализации плагина я вначале всего кода указал плагину что "дружок, а пробегись ка по существующим селектам и удали ка все мои симпапульки на div ах нахрен, а далее инициализируйся и конвертируй опять стандартные элементы в нестандартные". Логика такова: при первичной загрузке страниц упираясь в этот код плагин само собой ничего не находит (он же на ready сработал - все еще нецеловано, как говорится) и спокойно все конвертирует в мою так сказать, красоту. 

Далее

Если пользователь вознамерился динамически работать со своими селектами, то ему надо просто после каждого динамического добавления - удаления нового оптиона вызвать опять функцию-инициализатор плагина и вот тут то уже упираясь в вышеозначенный код, плагин вначале всю красоту удаляет (а новый опшн то уже добавлен в реальный селект и затем конвертирует все опять в красоту, но вместе с добавленным опшном.. Как то вот так

Но конечно если найдется способ пасти количество опшнов каждого селекта и отработки не всего набора на странице а конкретного - будет круче само собой

Это сообщение отредактировал(а) Frozen_Coyote - 12.12.2011, 15:41
PM MAIL   Вверх
$дмитрий
Дата 12.12.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Обычно при написании подобных плагинов разработчик дает СВОЙ api для добавление option. Поэтому у пользователя нет потребности подключать что-то еще

Ну ведь интерес как раз в том чтобы найти способ вклинится в чужой обработчик!  smile 
PM MAIL   Вверх
Frozen_Coyote
Дата 12.12.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



я вот и не знаю - красиво ли это будет заставлять юзера после любой своей динамической процедуры со своими дропдауном вызывать опять инициализатор для перелопачивания. может все же есть способ отработать изменение конкретного select а . ))
PM MAIL   Вверх
$дмитрий
Дата 12.12.2011, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Цитата

я вот и не знаю - красиво ли это будет заставлять юзера после любой своей динамической процедуры

Кроме как изменинения количество пунктов в списке, что там еще менять?
PM MAIL   Вверх
Frozen_Coyote
Дата 12.12.2011, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



да нет, количество пунктов через плагин никак не указывается.. пока из параметров в плагин на пользовательский выбор передаются цвет активного бэкграунда для выбранного пункта и активного цвета фонта.. далее будет видно ))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0723 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.