2013-09-26 15 views
8

Mam tę tablicę i iterować wartość za pomocą ng-repeat. Używając ng-repeat, będę mógł użyć indeksu $, który reprezentuje iterator.Ustaw wartość ngmodel za pomocą indeksu w ng-powtórzenie

Przed Mam ten kod, gdzie wprowadzane przez użytkownika numer porządkowy pytanie:

<div ng-repeat="q in entries"> 
    <input type="text" ng-model="q.orderNo"> 
</div> 

Ale wezwana do Draggable funkcji przeciągnij upuść pytania klienta, aby być uporządkowane. na przykład. użytkownik przeciągnął pytanie nr 1 do miejsca z pytaniem nr 2, a następnie zmieniło się ich miejsce, dlatego numer zamówienia pytania zostanie ponownie zindeksowany. W ten sposób dane wejściowe użytkownika dla numeru zamówienia nie będą potrzebne, ale nadal muszę ustawić q.orderNo i powiązać z nim indeks $ kiedy przekazałem do mojego api.

<div ng-repeat="q in entries"> 
    <input type="text" ng-model="q.orderNo = $index"> //this is what I want to accomplish 
</div> 

Chcę przypisać indeks $ do q.orderNo, jak bym to zrobił?

Odpowiedz

13
<input type="text" ng-model="q.orderNo" ng-init="q.orderNo = $index"> 
+2

Cześć, z powodu sortowalnej funkcji jquery ui musiałem użyć ng-bind, gdy zmieniam kolejność tego pytania. Ale twoja odpowiedź dała mi ten pomysł, więc nadal będę uważał to za poprawne. Dzięki stary. : d –

+0

Bez problemu. Możesz chcieć rzucić okiem na "http: // angular-ui.github.io /", jeśli jeszcze tego nie zrobiłeś. – AlwaysALearner

+1

To nie działa, ponieważ można usunąć elementy, wartości indeksu $ nie odzwierciedlają, ponieważ widok został już zainicjowany. np .: jeśli dodasz 3 przedmioty, otrzymasz 0,1,2, a teraz, jeśli usuniesz pierwszy i dodasz kolejne, to itemy stają się 1,2,2 – jbmyid

Powiązane problemy