Created
August 30, 2014 12:47
-
-
Save Ulv/722bd3b08c34ef3208e3 to your computer and use it in GitHub Desktop.
form with linked selects (see https://gist.github.com/Ulv/ac611b3ea94985cbb290)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### | |
# форма со связанными селектами | |
# - стилизация (https://github.com/Dimox/jQueryFormStyler) | |
# - цепляем функционал связанных селектов | |
# - геттеры | |
### | |
$.fn.extend | |
bestdiplomForm: (options) -> | |
@defaultOptions = | |
### селектор, к которому будем применять .styler() ### | |
styleElementsSelector: 'input[type=text], input[type=password], select' | |
### пустое значение (при котором дизаблим второй селект) ### | |
emptyVal: "0" | |
### основной селект, объект jQuery ### | |
primarySelect: null | |
### зависимый селект, объект jQuery ### | |
secondarySelect: null | |
settings = $.extend({}, @defaultOptions, options) | |
### иницализация jQuery styler ### | |
decorateFormInputs = ($el) -> | |
$(settings.styleElementsSelector).styler() | |
### возвращает главный селект ### | |
@getPrimarySelect = () -> | |
settings.primarySelect | |
### возвращает зависимый селект ### | |
@getSecondarySelect = () -> | |
settings.secondarySelect | |
### возвращает значение главного селекта ### | |
@getPrimaryValue = () -> | |
$(@getPrimarySelect()).val() | |
### возвращает значение зависимого селекта ### | |
@getSecondaryValue = () -> | |
$(@getSecondarySelect()).val() | |
return @each (i, el) -> | |
$el = $(el) | |
### | |
если в параметрах не указаны primarySelect и secondarySelect - берутся первые | |
2 селекта формы | |
### | |
if !settings.primarySelect or !settings.secondarySelect | |
[settings.primarySelect, settings.secondarySelect] = $el.find('select') | |
$([settings.primarySelect, settings.secondarySelect]) | |
.bestdiplomSelect( | |
emptyVal: settings.emptyVal | |
primarySelect: settings.primarySelect | |
secondarySelect: settings.secondarySelect | |
) | |
decorateFormInputs($el) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment