Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π²Ρ ΠΎΠ΄ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ng-ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° HTML ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π½Π΅Π²Π΅ΡΠ½Ρ. Π― ΠΎΠΆΠΈΠ΄Π°Π», ΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ html Π±ΡΠ΄ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΎΡ ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ: http://jsfiddle.net/fschwiet/HVp2J/
ΠΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ Π½Π° Chrome ΠΈ Firefox ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 8.
Π― Π²ΠΈΠΆΡ, ΡΡΠΎ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΎΡΠΊΡΡΡΡΠ΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° [type = range], Π½Π΅ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ.
ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Angular 1.2.14: http://jsfiddle.net/HVp2J/7/
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ $ timeout.
$ timeout Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π΅ΡΡΡ.
@fschwiet : http://jsfiddle.net/HVp2J/9/
@ Rajat-Chowdhary ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, ΠΌΠ½Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ $ timeout ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ :
ΠΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² $ timeout Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ.
ΠΠ°ΠΆΠ΅ΡΡΡ, Ρ Π½Π°ΡΠ΅Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Angular ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ min, max ΠΈ step, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
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
ΠΠ°, Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π― ΡΠΏΡΠΎΡΠΈΠ» Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π² stackoverflow. ΠΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ input [range] Ρ ΠΏΠΎΠΌΠΎΡΡΡ AngularJS, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ 100 . ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ 1.4.0-beta.build.3791 ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ.
+1
+1, ΠΈ Ρ ΡΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Π²ΠΎΠ΄Π° ΡΠΎΠ²ΠΌΠ΅ΡΠ°Π»ΡΡ Ρ ΡΠΈΡΠ»ΠΎΠΌ Π²Π²ΠΎΠ΄Π°.
+1 Π·Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Π‘ΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ: +1
Π΄Π° - ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° +1
ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ HTML5 - ΠΊΠ°ΠΊΠΎΠ² ΡΡΠ°ΡΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ, ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°Π΄ ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎ: https://github.com/danielcrisp/angular-rangeslider/issues/51
Π³Π΄Π΅ Error: ngModel: Π±Π΅Π³ΡΠ½ΠΎΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
Π― ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ @ 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, Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ [input type = range] Ρ ng-if
Π― ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» ΠΎΠ± ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡ ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ΅ΠΊΠ°: Β«Π Angular Π°ΡΡΠΈΠ±ΡΡ bind ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ _before_ ngModel ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ value
Β» . ΠΠΎΠΏΡΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° Stack Overflow. Π’ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ ΠΌΠΎΠ΅ΠΌΡ ΡΠ»ΡΡΠ°Ρ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ DOM-ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ $inputElement.prop()
Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ min
, max
ΠΈ step
(ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ Π°ΡΡΠΈΠ±ΡΡΡ Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ). ΠΠ΅Π»Π°Ρ ΡΡΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ DOM Π΄ΠΎ ΠΌΠΎΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ <input>
Β«s value
ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ, Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΎΠΉ Π»Π΅Π½ΠΈΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ / ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π³Π° Π½Π° 100. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, 300 ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 3.0 ΠΈ Ρ.Π΄., Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°Π΄Π°ΡΡ Π½ΠΈΠΆΠ΅ 100. ΠΠ°ΡΠ΅ΠΌ Ρ ΡΠΌΠ½ΠΎΠΆΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ.
+1 ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΠΈΠ΄Π½ΠΎ.
+1
+1
+1
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π»Π΅Π½ΠΈΠ²ΡΠΉ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΈΠ΅ΠΌ:
$timeout(function () {
angular.element('.slider-input').val(amount);
});
+1
Π‘ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Reactions Π½Π° GitHub Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Β«+1Β». ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΡΠ΅Π»ΠΊΠ½ΡΠ² Β«+: smile:Β» Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π²: +1: (Β«+1Β»). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π»ΡΡ Π½Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π― ΡΠ΅ΡΠΈΠ» ΡΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ondrag, ΡΠ΄Π°Π»ΠΈΠ² ng-model.
ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠΎ http://codepen.io/nagarajumusini/pen/BKpGJz
+1
+1
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ng-init ΠΊ Π²Π²ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
<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
$ (Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ) .ready (ΡΡΠ½ΠΊΡΠΈΡ () {
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>
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π‘ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Reactions Π½Π° GitHub Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Β«+1Β». ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΡΠ΅Π»ΠΊΠ½ΡΠ² Β«+: smile:Β» Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π²: +1: (Β«+1Β»). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π»ΡΡ Π½Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.