jStyling — это плагин для стилизации селектов, чекбоксов, радио-кнопок и файл-инпутов.
$.jStyling({'fileButtonText': 'Upload file'})
Настоятельно не рекомендую менять что-либо кроме fileButtonText.
Для работы с jStyling используйте последнюю стабильную версию jQuery (на момент написания — 1.4.4)
jStyling портестирован и работает в следующих браузерах:
Селект с дополнительными настройками {extraClass:'extra'}
До стилизации:
<select name="select1" >...</select>
После:
<div class="jstyling-select">
<div class="jstyling-select-l">
<div class="item-1">Option 1</div>
<div class="item-2" disabled="true">Option 2</div>
<div class="item-3">Option 3</div>
</div>
<div class="jstyling-select-s">
<div class="jstyling-select-t">Option 1</div>
</div>
<select name="select1" style="display: none;">...</select>
</div>
Для работы с селектами в jStyling есть 3 метода:
/**
* Стилизовать все селекты
*/
$.jStyling.createSelect($('select'));
/**
* Стилизовать селект с name=extra, у стилизованного селекта будет
* дополнительный класс "extra". Ширина стилизованного селекта = ширине селекта.
*/
$.jStyling.createSelect($('select[name="extra"]'), {extraClass: 'myExtraClass'});
Параметр elements — селекты которые будут обновлены.
Метод применяется в случаях обновления содержимого селекта (например после ajax подгрузки), блокировки/разблокировки отдельного <option> или селекта вцелом.
Примеры:
/**
* Обновить все селекты
*/
$.jStyling.updateSelect($('select'));
/**
* Заблокировать селект с name=extra
*/
$('select[name="extra"]).attr('disabled','true');
$.jStyling.updateSelect($('select[name="extra"]'));
Параметр elements — селекты у которых будет убрана стилизация.
Примеры:
/**
* Удалить стилизацию у всех селектов
*/
$.jStyling.destroySelect($('select'));
/**
* Удалить стилизацию у селекта с name=extra
*/
$.jStyling.destroySelect($('select[name="extra"]'));
До стилизации:
<input type="checkbox" name="checkbox">
После:
<div class="jstyling-checkbox">
<input type="checkbox" name="checkbox">
</div>
Для работы с чекбоксами есть 3 метода:
/**
* Стилизовать все чекбоксы
*/
$.jStyling.createCheckbox($('input[type=checkbox]'));
elements — чекбоксы которыe будем обновлять.
Примеры:
/**
* Обновить все чекбоксы
*/
$.jStyling.updateCheckbox($('input[type=checkbox]'));
/**
* Заблокировать чекбокс с id=terms
*/
$('#terms).attr('disabled','true');
$.jStyling.updateCheckbox($('#terms'));
elements — чекбоксы у которых удаляем стилизацию.
Пример:
/**
* Удалить стилизацию у всех чекбоксов
*/
$.jStyling.destroyCheckbox($('input[type=checkbox]'));
До стилизации:
<input type="radio" name="radio">
После:
<div class="jstyling-radio">
<input type="radio" name="radio">
</div>
Для работы с радио-кнопками в jStyling есть 3 метода:
Входные парамеры и принцип действия такой же как и у чекбоксов.
До стилизации:
<input type="file" size="30" name="file" id="file">
После:
<div class="jstyling-file">
<div class="jstyling-file-f"></div>
<div class="jstyling-file-b">Upload file
<input type="file" size="30" name="file" id="file" style="...">
</div>
</div>
Для работы с файл-инпутами есть 2 метода:
/**
* Стилизовать все файл-инпуты
*/
$.jStyling.createFileInput($('input[type=file]'));
/**
* Стилизовать файл-инпут с id=file, текст на кнопке = "Обзор"
*/
$.jStyling.createFileInput($('#file'), {fileButtonText: 'Обзор'});
elements — файл-инпуты у которых удаляем стилизацию.
Пример:
/**
* Удалить стилизацию у всех файл-инпутов
*/
$.jStyling.destroyFileInput($('input[type=file]'));