Превращение всех полей со списком в доступные для поиска поля ввода

483
Alex

Веб-сайты и веб-приложения. Существует ли метод / дополнение / программное обеспечение, которое позволило бы мне превращать любые или выборочные комбинированные списки (т.е. раскрывающиеся списки) на любом веб-сайте в поле ввода с возможностью поиска.

Предыстория: У многих старых интерфейсов администратора действительно длинные выпадающие списки, и в них нет возможности искать, и если элементы не отсортированы или плохо отсортированы, то удачи в поиске чего-либо.

2
Как обсуждалось в комментариях ниже, решение Greasemonkey - это путь, и он никогда (!) (Подмигнул Дэйву и случайно) не устареет до тех пор, пока программное обеспечение уровня браузера и / или уровня ОС не сделает все комбо (иначе - выбор, то есть выпадающие) входы, доступные для поиска как стандарт де-факто - что вполне выполнимо, и я могу поспорить на это, что это в конечном итоге произойдет (точно так же, как ввод паролей в настоящее время получает специальную обработку на уровне ОС и браузера). Alex 10 лет назад 0

1 ответ на вопрос

1
Dave

Это зависит от ситуации, но, как правило, ответ будет, даже если вы могли бы, это не стоит того.

Вы можете, хотя бы (по крайней мере, на настольном ПК), набрать, когда большая часть поля со списком развернута / выбрана, чтобы найти значение ... Если вы посетите сайт DHL, вы увидите раскрывающийся список. Нажмите на список, чтобы увидеть параметры, и пока он открыт, введите его United K(включая пробел), и вы увидите, что он перейдет к элементу.

Некоторые выпадающие списки не позволяют этого, например, этот сайт ... Наиболее вероятной технологией будет JavaScript, поэтому сценарий GreaseMonkey может помочь отключить поведение, чтобы он действовал стандартным способом HTML.

Такие вещи, как Greasemonkey, позволят вам воздействовать на визуализированный HTML-код и, возможно, преобразовать его из поля со списком в поле поиска, но вещь со списком - это предсказуемость! Мы знаем, какие у нас есть варианты и, следовательно, что можно выбрать. Обычно мы не кодируем неожиданные ошибки значений, поскольку их вряд ли будет! Это может означать, что ввод слов, которые не существуют, может привести к неожиданному поведению.

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

И, конечно же, каждый браузер может реагировать по-разному, так что, в заключение, на самом деле невозможно ответить, но мой ответ - нет, вы не можете делать то, что хотите, без ошибок (или, по крайней мере, работать точно так, как вы хотите) для каждого страница интернета!

Обратите внимание, что ваш второй пример не является выбором вообще. Это пользовательский хакерский элемент управления, который нарушает все правила использования. Если бы этот кодер / дизайнер работал на меня, его бы забрали в сарай. Brock Adams 10 лет назад 0
Да .. это то, что я сделал. Второй пример показывает, что некоторые веб-сайты перезаписывают поведение по умолчанию и поэтому «не позволяют». Я согласен, это ужасное дизайнерское решение @BrockAdams. Dave 10 лет назад 0
Я понимаю вашу точку зрения, но я думаю, что OP скорее хочет иметь текстовый ввод + список, поэтому ввод действует как фильтр. Кодирование пользовательского сценария, обеспечивающего такую ​​функциональность, определенно возможно. ComFreek 10 лет назад 1
@ComFreek, но мой второй абзац говорит об этом (или я все еще упускаю суть)? Dave 10 лет назад 0
Хорошая дискуссия, ребята. На самом деле этот http://jqueryui.com/autocomplete/#combobox в точности совпадает с тем, что мне нужно (щелкните Combobox справа, если он не выбран для вас). Вы можете видеть это: это не позволит вам выбрать несуществующий элемент, b. он будет выполнять частичное совпадение (может быть в середине элемента, поскольку он использует базовый комбинированный список (переключать его с помощью «show under select»). Теперь мне просто нужно найти скрипт greesemonkey или написать его самому. Alex 10 лет назад 1
@ Алекс, пожалуйста, обратите внимание, что если вы используете JQuery для этого, и на сайте, который вы посещаете, есть другая версия JQuery, то многое может пойти не так! Dave 10 лет назад 0
Да, я согласен, и это соответствует последнему абзацу вашего ответа. Я постараюсь найти ванильное решение JS, в худшем случае напишу его сам (что-то, чего я пытался избежать, поэтому спрашиваю здесь, знает ли кто-нибудь об инструменте, который делает это) Alex 10 лет назад 0
Кстати, решение не обязательно должно быть универсальным и должно быть активировано с помощью ярлыка или даже только для выбранных комбинированных окон, а не для всего на странице / представлении. Alex 10 лет назад 0
Поскольку вы правильно запускаете Greasemonkey, вы можете без проблем использовать jQuery-UI, за исключением * возможных коллизий CSS (незначительное раздражение). Просто используйте `@ require` и убедитесь, что вы не находитесь в режиме` @grant none`, и он работает нормально. ... Я сделал быстрый поиск таких скриптов. Не нашел ничего стоящего. Я сам напишу, если кто-то не побьет меня. Brock Adams 10 лет назад 1
/ Dave Вы упомянули, что может произойти «неожиданное поведение» из-за произвольного ввода. Я бы ограничил выбор оригинальными вариантами выбора. Но прости меня за мою придирку. / Alex и / или @BrockAdams: вы планируете опубликовать это здесь? Мне также было бы интересно использовать такой пользовательский скрипт. ComFreek 10 лет назад 0
@ComFreek на самом деле jqueryui (ссылка выше) действительно ограничивает выбор исходными (исходными) параметрами. С точки зрения публикации - если вопрос разблокирован. Alex 10 лет назад 0
Написал скрипт, но не знаю, должен ли он быть здесь или как новый пост в stackoverflow Alex 10 лет назад 0
@ Алекс, опубликуйте здесь, так как это может быть полезно. Или удалите этот пост и повторно отправьте его по адресу http://webapps.stackexchange.com/ (где он будет по теме). Помните, что вы можете ответить на свой вопрос на SO сайтах :) Dave 10 лет назад 0
@Alex http://softwarerecs.stackexchange.com подойдет лучше, чем Webapps.SE. ComFreek 10 лет назад 0

Похожие вопросы