2013-09-26 12 views
8

Ho questo array e iterare il valore usando ng-repeat. Usando ng-repeat potrei usare $ index che rappresenta l'iteratore.Imposta il valore di ngmodel usando l'indice in ng-repeat

Prima ho questo codice in cui l'input dell'utente il numero d'ordine domanda:

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

Ma il cliente richiesto per una caratteristica trascinabile, per trascinare cadere le questioni da risolvere. per esempio. l'utente ha trascinato la domanda n. 1 alla domanda n. 2, quindi la loro posizione cambierà, pertanto il numero dell'ordine delle domande verrà reindicizzato. Con questo l'input dell'utente per il numero d'ordine non sarà più necessario, ma devo ancora impostare q.orderNo e associarlo all'indice $ quando sono passato alla mia api.

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

Desidero assegnare l'indice $ a q.ordineNo, come potrei farlo?

risposta

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

ciao, a causa della caratteristica ordinabile di jquery ui ho dovuto usare ng-bind quando ho riordinato la domanda. Ma la tua risposta mi ha dato questa idea, quindi la considererò ancora corretta. Grazie compagno. : d –

+0

Nessun problema. Potresti dare un'occhiata a 'http: // angular-ui.github.io /' se non lo hai già fatto. – AlwaysALearner

+1

Questo non funziona, in quanto è possibile rimuovere gli elementi, i valori di $ index non riflettono poiché la vista è già inizializzata. ad esempio: se aggiungi 3 elementi ottiene 0,1,2 e ora se rimosso per primo e aggiungi un altro gli elementi diventano 1,2,2 – jbmyid

Problemi correlati