jQuery Form Styler - плагин для стилизации селектов, чекбоксов, радиокнопок, файловых и числовых полей
![jQuery Form Styler — плагин для стилизации элементов HTML-форм (input[type=checkbox], input[type=radio], input[type=file], input[type=number], select)](https://dimox.name/wp-content/themes/dimox.name/cache/d0/6a66efe39766dd0_150x100.png)
Данный плагин позволяет стилизовать с помощью CSS следующие HTML-элементы: флажок <input type="checkbox">; переключатель <input type="radio">; поле для выбора файла <input type="file">. поле для ввода чисел <input type="number">. раскрывающийся список <select>; Демонстрация работы плагина Живые примеры можно посмотреть на отдельной странице. Стоит заметить, что при ...
Комментарии (2 614)
Классная вещь. Спасибо
Добрый день, почему-от radio не переключается, выделяются все хотя name один и тот же: jsfiddle.net/maLmtmjm/1/
Ответ здесь.
Уважаемый Dimox. Пофиксите, пожалуйста баг c Mac OS, а то из-за этого бага, мои коллеги отказываются его использовать ((
Так используйте решение, которое сами же и предложили.
Так я бы с радостью, но если появится новая версия, затрется изменения, можно и не вспомнить о фиксе. лучше всегда использовать свежую версию))
Я уже писал, что решение громоздкое, поэтому я его не добавляю.
Привет,
Имеем селектор на drupal с множественным выбором опций. Скрипт его оформил в радио-кнопочки, всё красиво. Выбрать несколько опций можно, удреживая клавишу ctrl. Необходимо, чтобы был мультивыбор нескольких радио-кнопок и через клик (как если бы это были чекбоксы).
Dimox, подскажите, пожалуйста, пример или куда смотреть. Спасибо.
К сожалению, я ничего не понял.
Ок, перефразирую: речь идёт про мультивыбор в селекторе jq-select-multiple; внутри него множество опций (li), которые внешне выглядят радинопками.
Сейчас опции (li) выбираются по клику, но по одной. Хочется сделать возможность выбора нескольких таких опций (li) по клику (как если бы это были чекбоксы из демо в разделе #checkbox). Вопрос — как задать мультивыбор опций в селекторе jq-select-multiple?
В плагине такой возможности нет, реализовано только стандартное поведение селекта. Для вашей задачи плагин нужно дорабатывать.
Dimox, хорошо, тогда если с другой стороны зайти.
Вы поможете с этим? Вам интересно доработать и/или на примере пояснить как и что?
И какой бюджет на эту задачу запрашиваете?
Вот даже пример рабочий, но портировать не хватает опыта: jsfiddle.net/51p7ocLw/12/
Мне это не интересно.
Не подскажите, как быть. я использую связанные опции на опенкарт и при выборе одного селекта, подгружаются/меняются данные в другом селекте, так вот в том другом селекте происходит касяк-он становится обычного вида
В конце функции, которая добавляет/изменяет второй селект, запустите для этого селекта
.styer ()
.Не подскажешь куда и что нужно добавить, что-то совсем не получается, куда только не пихал стайлер
скрипт chained:
код где он применяется в шаблоне:
Тут есть решение, если, конечно, это тот же самый плагин.
Сделал, как там и все-равно не работает-меняется селект на стандартный вид (
а вот если вместо:
прописать:
то все работает, т. к я нуб в этом деле, не уверен правильно ли так сделать?
Да, если это работает, значит все правильно.
Сделал в категориях вывод по аналогии с модулем (где все работало) но в категориях не работает, вторая связанная опция вообще не открывается… Dimox, можешь глянуть, мб что-то не туда вставил?
Dimox, привет, с предыдущими проблемами справился, все работает, но вот уже второй день не могу победить проблему: на сайте есть фильтр (на аякс) после фильтрации, стилизация не исчезает, но невозможно открыть второй селект (связанный с первым селектом) триггер и стайлер пихал уже где токо можно и в success, ничего не помогло, не мог бы помочь, не хочется удалять стилизацию, понравился твой плагин очень.
Блин, починил, ща вроде все работает, добавил стайлер в самый низ страницы, до этого в середине был
День добрый!
Такая проблема, в IE8 и ниже поле select’а не отображается ни выбранный пункт, ни стрелка, ни картинка вместо стрелки.
В чем проблема может быть?
Не знаю, у меня в IE8 все, как положено. А более старые версии не поддерживаются.
Предыдущий комментарий не актуален. Разобрался.
Всё просто.
Всего-навсего нужно было использовать правило зажатого ctrl на клик по опции (li).
Спасибо за плагин и за отзывчивость.
Более правильным вариантом решения проблемы с подключаемыми шрифтами была бы переинициализация плагина после окончания загрузки шрифта. Отловить загрузку шрифта можно при помощи гугловского скрипта «webfontloader» github.com/typekit/webfontloader. При подключенном плагине код переинициализации выглядел бы так:
В данном случае подключалось семейство шрифтов Arimo.
По-моему, лучше сделать через setTimeout, чем ради этого подключать еще один скрипт.
Тем не менее следует признать, что решение проблемы через setTimeout — это всё-таки костыль. Было бы здорово добавить в описание плагина и это решение тоже. :)
Если шрифт не был предварительно загружен пользователем, а это будет происходить при каждом первом посещении сайта, такое использование setTimeout будет безуспешным. Т.к. шрифт не успеет скачаться за 100ms.
Спасибо за решение. Добавил в статью упоминание о нем.
Ещё проще будет добавить в 10 пикселей к расчёту ширины селекта в плагине, в файле jquery.formstyler.min.js ищем строчку y. width (N) заменяем на y. width (N+10+'px'). Радуемся.
Возможно ли в селекте элементам выставлять цвет?
Да. Добавьте тегам option нужные классы.
В документации:
текст по умолчанию в одиночном селекте; отображается, когда у первой опции отсутствует значение:
это когда нужно установить свой плейсхолдер у select
На это ругается валидатор w3c
Element option without attribute label must not be empty.
У меня нет другого варианта, как сделать то же самое без ошибки валидатора.
Здравствуйте, столкнулся с проблемой необходимости закрытия select’а при ресайзе/скролле окна, как это можно сделать при использовании вашего плагина? Кстати стандартный селект во всех этих случаях закрывается автоматически, возможно стоит это реализовать в самом плагине.
Вот так:
Спасибо, так и сделал. Думал просто может в плагине есть какие то методы уже заложенные не документированные.
Еще при использовании плагина часто возникает проблема когда выпадающий список у select обрезается какими то внешними контейнерами с overflow: hidden. Если убрать overflow: hidden нет возможности, то это становится проблемой. Решал подобную задачу изменением позиционированния всего кастомизированного селекта на fixed и расчетом координат где был селект. Может быть вы знаете еще какое нибудь решение подобной проблемы? Стандартный селект в подобных случаях не обрезается.
Не знаю решений.
Есть какой то метод который позволяет открыть стилизованный select из js? Как я понимаю обычный селект из js нельзя открыть просто так.
Как сделать селект изначально неактивным, и как его потом активировать (например после нажатия на кнопку какуюто). Добавление класса «disabled» на старте ничего не дает (
Нужно не класс добавлять, а атрибут «disabled». При нажатии на кнопку удалять атрибут и класс уже со стилизованного селекта
Спасибо, не думал даже, что так просто)
Появилась новая задача:
Вопрос: почему (id="d3″) НЕ становится обратно неактивным. Как сделать правильно?
Вместо
$('#d3').attr ('disabled');
нужно:$('#d3').attr ('disabled', true);
.А что нет параметра, чтобы при заданной ширине селекта длинные option переносились на новую строку? Плохо, что значения обрезаются
Нет. Сделано по аналогии со стандартным селектом (если вы про выпадающий список).
Столкнулся с такой проблемой, когда в select только один option, не выбирается этот option внутри стилизованного select. Так и остается надпись «Выберите». Кто знает в чем проблема?
приветствую.
заметил что не хотят работать корректно радиокнопки. после нажатия на другую кнопку первая остается отмечена, хотя сами кнопки, те что скрытые меняют свое состояние
Ответ здесь.
не понятно. а почему тогда на вашей дэмке все работает без этих манипуляций?
вот тут глюк lihai-store.com/index.php?route=information/information&information_id=4
Потому что в демке присутствует тег form, с которым данная опция не нужна.
Здравствуйте! Плагин классный, пользуюсь постоянно, но встала задача сделать селект не с текстом, а с картинками, можно как-нибудь такое провернуть? Спасибо!
Добавьте каждой опции класс и через него фоном укажите картинку.
После установки плагина страница стала загружаться 26 секунд (без плагина 0,86 секунд)…
Плагин отлично работает, элементарно подключается.
Dimox на моём сайте самый большой содержит более 1200 штук
…
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
и так далее…
Проблема в скорости загрузки эффектов плагина. Страницы — любые грузятся в среднем 40−55 секунд. Есть ли решение данной проблемы?
Решение только одно — при большом количестве пунктов не рекомендую подключать плагин.