2015-04-01 11 views
5

Mam proste tabeli z trzech wierszy i dwóch wartości dla każdego wiersza - data i państwowych:Angular JS Akcja na NG-zmiany select rozwijana

<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> 

daty i statusu Więc, proste wartości dla czerwonego, zielonego i niebieski. Jeden z menu rozwijanego - status, drugi - tylko data wydruku.

Po zmianie wartości wybierz - muszę zaktualizować datę dzisiejszą datą.

`$scope.item.redDate = new Date();` 

Czy to możliwe, aby mieć jedną funkcję jak ng-change="change();" nie można wysłać z NG-zmienić ID ...

+1

dlaczego nie można? Możesz wysłać ID jako argument w metodzie update(), np. Ng-change = "update (" red ")" jaki jest problem? – Samir

+0

Mmm ... tak, i jak mogę zaktualizować datę? jeśli to $ scope.item.redDate? W JS będę coś w stylu var date = id + 'Date' –

+1

Podobnie jak $ scope.item [id + 'Date'] = new Date(); – Samir

Odpowiedz

9

Specjalne podziękowania dla Samir Das z pomocą, aby znaleźć rozwiązanie 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> 

Oto kontroler:

$scope.update = function(id){ 
    id = event.target.id; 
    $scope.item[id+'Date'] = new Date(); 
}; 
Powiązane problemy