рдореВрд▓ рд░реВрдк рд╕реЗ, рдПрдирдЬреА-рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдПрдХ рд░реЗрдВрдЬ рдЗрдирдкреБрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред HTML рддрддреНрд╡ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рди рдФрд░ рд╢реНрд░реЗрдгреА рд╕реНрд▓рд╛рдЗрдбрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдЧрд▓рдд рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕реНрд▓рд╛рдЗрдбрд░ рдЪрд░ рдФрд░ HTML рдЗрдирдкреБрдЯ рдореВрд▓реНрдп рдореЙрдбрд▓ рдЪрд░ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рдореЗрдВ рд╣реЛрдЧрд╛ред
рдпрд╣рд╛рдБ рдПрдХ repro рд╣реИ: http://jsfiddle.net/fschwiet/HVp2J/
рд╡рд┐рдВрдбреЛрдЬ 8 рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд░реЛрдо рдФрд░ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдкрд░ рд╕рддреНрдпрд╛рдкрд┐рддред
рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрдирдкреБрдЯ [рдкреНрд░рдХрд╛рд░ = рд╢реНрд░реЗрдгреА] рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдореБрджреНрджреЗ рдЦреБрд▓реЗ рд╣реИрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдпрд╣ рдЕрднреА рднреА рдХреЛрдгреАрдп 1.2.14 рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИ: http://jsfiddle.net/HVp2J/7/
рдХрд╛рдо рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж, рдПрдХ $ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рднреАрддрд░ рдореЙрдбрд▓ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
$ timeout doesn 'рдХреА рдорджрдж, рдореБрджреНрджрд╛ рдмрдирд╛ рд╣реБрдЖ рд╣реИред
@fschwiet : http://jsfiddle.net/HVp2J/9/
@ рд░рдЬрдд-рдЪреМрдзрд░реА рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдПрдХ рдХреЛрдб рд╕реИрдВрдкрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ $ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд░реНрдХ-рдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ: http://jsfiddle.net/fschwiet/YC4av/
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд╛рд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбрд▓ рд╡реИрд▓реНрдпреВ рдХреЛ рддрдм рддрдХ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП $ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЙрд▓рдмреИрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд▓рдЧрддрд╛ рд╣реИ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓ рдЧрдИред
рдХреЛрдгреАрдп, рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо рдФрд░ рдХрджрдо рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдРрд╕рд╛ рд▓рдЧреЗ рдХрд┐ рд╕реАрдорд╛ рдЧрд▓рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
angular.module('angular-range', []).directive('range', function() {
return {
replace: true,
restrict: 'E',
scope: {
value: '=ngModel',
min: '=rangeMin',
max: '=rangeMax',
step: '=rangeStep',
},
template: '<input type="range"/>',
link: function(scope, iElement, iAttrs) {
scope.$watch('min', function() { setValue(); });
scope.$watch('max', function() { setValue(); });
scope.$watch('step', function() { setValue(); });
scope.$watch('value', function() { setValue(); });
function setValue() {
if (
angular.isDefined(scope.min) &&
angular.isDefined(scope.max) &&
angular.isDefined(scope.step) &&
angular.isDefined(scope.value)
) {
iElement.attr("min", scope.min);
iElement.attr("max", scope.max);
iElement.attr("step", scope.step);
iElement.val(scope.value);
}
}
function read() {
scope.value = iElement.val();
}
iElement.on('change', function() {
scope.$apply(read);
});
}
};
});
рдпрд╣рд╛рдБ рдирд┐рдЬреА рджрд╛рдпрд░реЗ рдХреЗ рдмрд┐рдирд╛ ngRange рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:
.module('ngRange', [])
.directive('ngRange', function() {
return {
replace: true,
restrict: 'E',
require: 'ngModel',
template: '<input type="range"></input>',
link: function(scope, element, attrs, ngModel) {
var ngRangeMin;
var ngRangeMax;
var ngRangeStep;
var value;
if (!angular.isDefined(attrs.ngRangeMin)) {
ngRangeMin = 0;
} else {
scope.$watch(attrs.ngRangeMin, function(newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
ngRangeMin = newValue;
setValue();
}
});
}
if (!angular.isDefined(attrs.ngRangeMax)) {
ngRangeMax = 100;
} else {
scope.$watch(attrs.ngRangeMax, function(newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
ngRangeMax = newValue;
setValue();
}
});
}
if (!angular.isDefined(attrs.ngRangeStep)) {
ngRangeStep = 1;
} else {
scope.$watch(attrs.ngRangeStep, function(newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
ngRangeStep = newValue;
setValue();
}
});
}
if (!angular.isDefined(ngModel)) {
value = 50;
} else {
scope.$watch(
function () {
return ngModel.$modelValue;
},
function(newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
value = newValue;
setValue();
}
}
);
}
function setValue() {
if (
angular.isDefined(ngRangeMin) &&
angular.isDefined(ngRangeMax) &&
angular.isDefined(ngRangeStep) &&
angular.isDefined(value)
) {
element.attr("min", ngRangeMin);
element.attr("max", ngRangeMax);
element.attr("step", ngRangeStep);
element.val(value);
}
}
function read() {
if (angular.isDefined(ngModel)) {
ngModel.$setViewValue(value);
}
}
element.on('change', function() {
if (angular.isDefined(value) && (value != element.val())) {
value = element.val();
scope.$apply(read);
}
});
}
};
});
рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рд╣реИ рдирд╛?
рд╣рд╛рдВ +1
рд╣рд╛рдБ, рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред
рдореИрдВрдиреЗ рд╕реНрдЯреИрдХрдУрд╡рд░рдлрд╝реНрд▓реЛ рдореЗрдВ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ 100 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдкрд░ рдПрдВрдЧреБрд▓рд░рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЗрдирдкреБрдЯ [рд░реЗрдВрдЬ] рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдП ред 1.4.0-beta.build.3791 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдмрдЧ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред
+1
+1, рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рдЬрдм рдЗрдирдкреБрдЯ рд░реЗрдВрдЬ рдХреЛ рдЗрдирдкреБрдЯ рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП +1
рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛: +1
рд╣рд╛рдВ - рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ +1
рдпрд╣ рдореВрд▓ html5 рд╣реИ - рдЗрд╕ рдкрд░ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?
рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП: https://github.com/danielcrisp/angular-rangeslider/issues/51
рдЬрд╣рд╛рдБ рддреНрд░реБрдЯрд┐: ngModel: numfmt рд░реЗрдВрдЬ рд╕реНрд▓рд╛рдЗрдбрд░ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рд╣реИ
рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП @ ardf69 рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛:
angular.module('common').directive('rangeSlider', [function () {
return {
replace: true,
restrict: 'E',
require: 'ngModel',
template: '<input type="range"/>',
link: function (scope, element, attrs, ngModel) {
var ngRangeMin;
var ngRangeMax;
var ngRangeStep;
var value;
function init() {
if (!angular.isDefined(attrs.ngRangeMin)) {
ngRangeMin = 0;
} else {
scope.$watch(attrs.ngRangeMin, function (newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
ngRangeMin = newValue;
setValue();
}
});
}
if (!angular.isDefined(attrs.ngRangeMax)) {
ngRangeMax = 100;
} else {
scope.$watch(attrs.ngRangeMax, function (newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
ngRangeMax = newValue;
setValue();
}
});
}
if (!angular.isDefined(attrs.ngRangeStep)) {
ngRangeStep = 1;
} else {
scope.$watch(attrs.ngRangeStep, function (newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
ngRangeStep = newValue;
setValue();
}
});
}
if (!angular.isDefined(ngModel)) {
value = 50;
} else {
scope.$watch(
function () {
return ngModel.$modelValue;
},
function (newValue, oldValue, scope) {
if (angular.isDefined(newValue)) {
value = newValue;
setValue();
}
}
);
}
if (!ngModel) {
return;
}
ngModel.$parsers.push(function (value) {
var val = Number(value);
if (val !== val) {
val = undefined;
}
return val;
});
}
function setValue() {
if (
angular.isDefined(ngRangeMin) &&
angular.isDefined(ngRangeMax) &&
angular.isDefined(ngRangeStep) &&
angular.isDefined(value)
) {
element.attr("min", ngRangeMin);
element.attr("max", ngRangeMax);
element.attr("step", ngRangeStep);
element.val(value);
}
}
function read() {
if (angular.isDefined(ngModel)) {
ngModel.$setViewValue(value);
}
}
element.on('change', function () {
if (angular.isDefined(value) && (value != element.val())) {
value = element.val();
scope.$apply(read);
}
});
init();
}
};
}
]);
+1, рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдПрдирдЬреА-рдЗрдл рдХреЗ рд╕рд╛рде [рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ = рд╢реНрд░реЗрдгреА] рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛
рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкреНрд░рд╢реНрди рд▓рд┐рдЦрд╛, "рдХреЛрдгреАрдп рдореЗрдВ, рд╕реНрдХреЛрдк рд╡реЗрд░рд┐рдПрдмрд▓ _before_ ngModel рд╕реЗ bind рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрдирдкреБрдЯ рдХреЗ value
рдмрд╛рдВрдзрддрд╛ рд╣реИ" ред рдкреНрд░рд╢реНрди рдореЗрдВ рдПрдХ рд░рди рдХреЛрдбреЗрдмрд▓ рд╕реНрдирд┐рдкреЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред
рдХреБрдЫ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдбреНрд╕ рдХреЛ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореЗрдВ min
, max
рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $inputElement.prop()
рд╕рд╛рде DOM рд╣реЗрд░рдлреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ step
(рдЬреЛ рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ)ред рдореЗрд░реЗ рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд <input>
value
рдкреНрд░рдердо рд╕реЗрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ DOM рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рд╕реЗ, рдореИрдВ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрддрд╛ рд╣реВрдВред
рдЗрд╕ рдмрдЧ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдЖрд▓рд╕реА рддрд░реАрдХрд╛ рд╢реВрдиреНрдп / рдЕрдзрд┐рдХрддрдо рдФрд░ рдЪрд░рдг рдорд╛рдиреЛрдВ рдХреЛ 100 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП 300 3.0 рд╣реЛ рдЧрдпрд╛, рдЖрджрд┐ рдФрд░ рдореВрд▓реНрдп 100 рд╕реЗ рдиреАрдЪреЗ рд╣реЛ рдЧрдПред рдлрд┐рд░ рдореИрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╡рд╛рдкрд╕ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
+1 рдпрд╣ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред
+1
+1
+1
рдПрдХ рдФрд░ рдЖрд▓рд╕реА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИрдХ:
$timeout(function () {
angular.element('.slider-input').val(amount);
});
+1
GitHub рдХреА рдирдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдЕрдм "+1" рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╢реАрд░реНрд╖-рджрд╛рдИрдВ рдУрд░ "+: рдореБрд╕реНрдХрд╛рди:" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдкрдиреА рд░реБрдЪрд┐ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЪреБрдиреЗрдВ: +1: ("+1")ред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛ рдПрдХ рдмреЗрдХрд╛рд░ рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдПрдирдЬреА-рдореЙрдбрд▓ рдХреЛ рд╣рдЯрд╛рдХрд░ рдСрдирдбреНрд░реИрдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИред
рдЗрд╕ http://codepen.io/nagarajumusini/pen/BKpGJz рдХреЛ рджреЗрдЦреЗрдВ
+1
+1
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдирдЬреА-рдЗрдирд┐рдЯ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
<input type="range" class="slider-years" min="0" max="30" step="1" value="0" data-ng-model="metier.anneeExperience" data-ng-init="metier.anneeExperience ? metier.anneeExperience = metier.anneeExperience : metier.anneeExperience = 0" />
рдЗрд╕рдореЗрдВ рд╣рд▓ рдорд┐рд▓рд╛:
рд╣рдо рдЗрд╕ рдкрд░ (рдЖрдЦрд┐рд░рдХрд╛рд░) рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред Https://github.com/angular/angular.js/issues/5892 рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛
$ (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝)ред
angular.element ('ред yourclasshere')ред val (valueoftheslideronload);
};
рдпрд╣ jQuery рдХрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╕реНрд▓рд╛рдЗрдбрд░ рдХрд╛ рдЬреЛ рднреА рдореВрд▓реНрдп рд╣реИ рд╡рд╣ рддрдм рддрдХ рд╕рд┐рдВрдХ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рдЫреБрдЖ рди рдЬрд╛рдПред
@davedx рд╢рд╛рдпрдж рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред
<input type="range" min="15"
data-ng-init="signup.age=30" value="30" max="85" step="1"
name="ageInput" class="form-control input-lg" ng-model="signup.age"
oninput="ageOutputId.value = ageInput.value" />
<output name="ageOutputName" id="ageOutputId">30</output>
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
GitHub рдХреА рдирдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдЕрдм "+1" рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╢реАрд░реНрд╖-рджрд╛рдИрдВ рдУрд░ "+: рдореБрд╕реНрдХрд╛рди:" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдкрдиреА рд░реБрдЪрд┐ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЪреБрдиреЗрдВ: +1: ("+1")ред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛ рдПрдХ рдмреЗрдХрд╛рд░ рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред