[英]Set input [type=range] max value based on another input[type=text] value in angularJS
[英]angularjs - Input[type=range] value not updated
输入类型范围出现问题。 即使我强制更改它,该值也不会更新。 我正在使用离子1
我在下面有一个带有日期的按钮列表和一个输入范围滑块。
...
<a grouped-radio="date" ng-model="data.date" ng-repeat="date in data.dates" class="button-small" ng-click="updateTimeRange(date)">{{date | date: 'd-MMM'}}</a>
...
<input type="range" id="time" name="time" min="{{data.minTimeStep}}" max="{{data.maxTimeStep}}" step="0.5" value="{{data.timeStep}}"
ng-model="data.timeStep" ng-change="getTime()">
...
单击按钮后,我将调用函数updateTimeRange()重置下面的输入范围的最小值和最大值。 这是updateTimeRange()函数
$scope.updateTimeRange = function (selectedDate) {
var timeobj = _getMinTime(selectedDate); //function to get minimum time for the selected date
//updating the scopes but it does not work
$scope.data.minTimeStep = timeobj.decimal;
$scope.data.timeStep = timeobj.decimal;
$scope.data.time = timeobj.time;
//tried force update the value directly but does not work also.
//document.querySelector('#time').value = timeobj.decimal;
$timeout(function () {
console.log('timeout value: '+document.querySelector('#time').value);
});
console.log(timeobj);
console.log($scope.data);
console.log(document.querySelector('#time').value);
}
这是控制台输出。 这完全没有意义。
但是,当我尝试在控制台中手动设置时,看起来还可以。
尝试使用
$scope.minTimeStep = timeobj.decimal;
代替
$scope.data.minTimeStep = timeobj.decimal;
嵌套对象引起了问题。 只需从您的javascript和html中删除数据即可。
我做了一个hack。 我只是在$ timer函数中强制更新它。 我不知道为什么 但这对我有用。
$scope.updateTimeRange = function (selectedDate) {
var timeobj = _getMinTime(selectedDate); //function to get minimum time for the selected date
//updating the scopes but it does not work
$scope.data.minTimeStep = timeobj.decimal;
$scope.data.timeStep = timeobj.decimal;
$scope.data.time = timeobj.time;
//tried force update in the timer
$timeout(function () {
console.log('timeout value: '+document.querySelector('#time').value);
document.querySelector('#time').value = timeobj.decimal;
});
console.log(timeobj);
console.log($scope.data);
console.log(document.querySelector('#time').value);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.