select.onChange

6 views
Skip to first unread message

Avol

unread,
Sep 15, 2011, 8:55:05 AM9/15/11
to RightJS Для Бородатых Хакеров
Я уже создавал тему "Colorpicker input.onChange".
Возникла аналогичная ситуация с select.
Если у меня заменяется стандартный select скриптовым, то логично, что
собития я вешаю на стандартный, но onchange не срабатывает.
Я сделал для себя такую модификацию:
var Updater = {

/**
* Assigns the unit to work with an input element
*
* @param mixed element reference
* @return Rater this
*/
assignTo: function(element) {
var assign = R(function(element, event) {
if ((element = $(element))) {
element[element.setValue ? 'setValue' : 'update']
(event.target.getValue());
element.fire('change',{skip_update:true});
}
}).curry(element);

var connect = R(function(element, object) {
element = $(element);
if (element && element.onChange) {
element.onChange(R(function(event) {
if (typeof event.skip_update == 'undefined' ||
event.skip_update != true)
this.setValue(element.value());
}).bind(object));
}
}).curry(element);

if ($(element)) {
assign({target: this});
connect(this);
} else {
$(document).onReady(R(function() {
assign({target: this});
connect(this);
}.bind(this)));
}

return this.onChange(assign);
}
};
Reply all
Reply to author
Forward
0 new messages