![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
Всем привет!
"Два связанных multySelect-а, которые предназначены для выбора данных из левого селеста в правый + настройка очередности элементов в правом селекте" предлагаю рассмотреть и доработать код:
Добавлено @ 12:58 папка во вложении Присоединённый файл ( Кол-во скачиваний: 17 ) ![]() |
|||
|
||||
AKS |
|
||||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin,
Что ж, в свою очередь могу предложить первую доработку. Сводится она к тому, чтобы заменить 4 функции (left_to_right, left_all_to_right, right_all_to_left, right_to_left) на одну-единственную, типа такой:
Два первых параметра - это левый и правый селекты, а третий - булево значение (все или не все сразу переносить)... Это сообщение отредактировал(а) AKS - 6.11.2006, 13:58 |
||||
|
|||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
AKS, а полный код дать сможешь?
|
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin,
"Полный код" чего именно Вас интересует? ;) Если серьезно, то я просто переписал четыре одинаковых функции в одну - больше ничего пока не делал... Переписать что-ли там все? |
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin, вот еще переписал функции для "настройка очередности элементов в правом селекте". Теперь это можно делать одной функцией:
Первый параметр - правый селект, второй параметр - true (двигать наверх) или false (двигать вниз). Т.е. вот эти две функции (эта и та, что написана выше) и будут полным кодом... |
|||
|
||||
pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
спасибо! ![]() +1 полный код:
Это сообщение отредактировал(а) pythonwin - 6.11.2006, 15:35 |
||||
|
|||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
pythonwin, имхо ссылку на левый селект для левого и на правый для правого удобнее и короче записать как this. И еще, в обработчиках не надо писать "javascript:", он нужен только для кода внутри href ссылок.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
спасибо - не знал. ![]()
я специально отхожу от this (как это было реализовано в http://python.org/pypi/Select-Shuttle/0.94) ещё один момент нужна сортировка для элементов левого селекта. ![]() я сделал, но у меня она неэффективная. |
||||
|
|||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin,
А какие критерии сортировки? |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 1 Всего: 12 |
pythonwin привет!
K сожалению нету времени пиать ![]() |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
||||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin,
|
|||
|
||||
pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
т.е. сортировка состояла из
и получается что много лишних перемещений |
||||
|
|||||
AKS |
|
||||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin,
А я тоже не знаю, как без таких перемещений сделать - не знаю, как сортировать опции без помещения их в массив, а потом снова в селект. Так что предлагаемый мной вариант - это тоже самое:
Теперь в функции replacer нужно вызывать orderer(select2) в самом конце кода. Там сортировка по value, т.к. по text в данном случае не совсем так, как надо... |
||||
|
|||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
AKS, спасибо, но мне нужна сортировка левого селекта по "text", а не по "value"
|
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 2 Всего: 52 |
pythonwin,
Наверняка будет достаточно подставить вашу функцию sort_opt (из первоначального варианта сценария) вместо функции sorter... |
|||
|
||||
pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
так и сделал ![]() конечный код:
|
||||
|
|||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
AKS, спасибо!
![]() ++1 |
|||
|
||||
JonGol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 10.11.2006 Репутация: 1 Всего: 1 |
А подскажите пожалуйста, как вывезти все даные что в правом столбце, а то на данный момент приходиться из в начале выделить а потом отправить
![]() |
|||
|
||||
pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: нет Всего: 36 |
а ты записывай их как строку в скрытое поле перед отправкой или просто выдели их всех. например как:
Это сообщение отредактировал(а) pythonwin - 13.11.2006, 06:46 |
||||
|
|||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 1 Всего: 401 |
Благодаря бдительности comtatа обнаружен баг - при выделении нескольких опций подряд переносятся только нечетные. В качестве фикса предлагаю "i--;" после 16-й строки. Возможно, кто-нибудь найдет выход покрасивее...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]() ![]() ![]() |
Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Наши скрипты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |