У меня есть некоторая логика, которую я упростил в этом 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>
ЯШ:
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;
}
}
}
}
Что она делает это поднимает некоторые даты из веб-запроса и, как предполагается, чтобы добавить его в нужные коробки в нг-повтора. Пока это все еще работает правильно.
Но когда я изменить тип входного сигнала от текста к дате, ничего не происходит. Значения, которые я выбираю, верны, но элементы даты не обновляются.
Что я здесь отсутствует? Я делаю что-то неправильно ?
Просто в сторону: [Quick FAQs Google, на 'ввода [тип = дата]' в Chrome] (https: // developers.google.com/web/updates/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome) явно указывает: «При программном программировании« input.value »значение принимает только' yyyy-mm-dd', независимо от формата презентации как для начального значения, так и для введенного значения JavaScript ». (Я споткнулся об этом сам некоторое время назад ...). – user1924627