J'ai un tableau simple avec trois lignes et deux valeurs pour chaque ligne - date et état:
<tbody>
<tr>
<td>Red</td>
<td class="lastModified">{{item.redDate}}</td>
<td class="status">
<select id ="red" class="form-control" ng-change="update();" ng-model="item.redStatus">
<option value="" disabled="" selected="" class="ng-binding">Please select the value</option>
<option ng-selected="step.value === item.redStatus" ng-repeat="(key, step) in steps">{{ step.title }}</option>
</select>
</td>
</tr>
<tr>Green</tr>
<tr>
....
</tr>
</tbody>
Ainsi, des valeurs de date et d'état simples pour le rouge, le vert et le bleu. Un dans la liste déroulante - état, le second - juste la date de sortie.
Lors du changement de la valeur sélectionnée - j'ai besoin de mettre à jour la date avec la date d'aujourd'hui.
`$scope.item.redDate = new Date();`
Est-il possible d'avoir une fonction comme ng-change="change();"
Impossible d'envoyer avec ng-change l'ID ...
Un merci spécial à Samir Das avec de l'aide pour trouver la solution ng-change = "update (id);":
<select id ="red" class="form-control" ng-change="update(id);" ng-model="item.redStatus">
<option value="" disabled="" selected="" class="ng-binding">Please select the value</option>
<option ng-selected="step.value === item.redStatus" ng-repeat="(key, step) in steps">{{ step.title }}</option>
</select>
Voici le contrôleur:
$scope.update = function(id){
id = event.target.id;
$scope.item[id+'Date'] = new Date();
};