【发布时间】:2016-05-11 10:38:05
【问题描述】:
我在这个 JSFiddle 中简化了一些逻辑:http://jsfiddle.net/r7vyjg4h/ 并且有效。
html:
<div ng-controller="MyCtrl">
<div ng-repeat="line in lines">
<div style="display: inline-block">
{{line.id}}
</div>
<div style="display: inline-block">
<input type="text" ng-model="line.date" />
</div>
</div>
<input type="button" ng-click="update()" value="update" />
</div>
js:
function MyCtrl($scope) {
$scope.lines = [{
id:"1",
date: new Date()
},{
id:"2",
date: new Date()
},{
id:"3",
date: new Date()
}
];
var newDates = [{id:"1", date: new Date('10-10-2010 10:10:10')}, {id:"3", date: new Date('11-11-2011 11:11:11')}];
$scope.update = function(){
for(var i = 0; i < newDates.length;i++){
for(var j = 0; j < $scope.lines.length; j++){
if($scope.lines[j].id == newDates[i].id){
$scope.lines[j].date = newDates[i].date;
}
}
}
}
它的作用是从网络请求中挑选一些日期,并应该将其添加到 ng-repeat 中的正确框中。到目前为止,它仍然是正确的。
但是当我将输入类型从 text 更改为 date 时,什么也没有发生。我选择的值是正确的,但日期元素没有更新。
我在这里缺少什么?难道我做错了什么 ?
【问题讨论】:
标签: javascript angularjs html input