8

I have a <select> popolato tramite ng-options. In un caso specifico, quando due valori sono adiacenti nell'elenco dei modelli ordinati e i valori hanno la stessa prima lettera, l'aggiornamento del valore del modello nelle interruzioni angolari. Questo potrebbe essere un problema relativo agli eventi del browser, ma non ne sono sicuro.Angular.js ng-option select using keypress

This plunker shows the issue e this GIF illustrates it.

Ho provato ad attivare manualmente l'evento change sul campo senza alcuna fortuna. Vorremmo mantenere la lista in ordine alfabetico, se possibile - cambiare l'ordine sembra fermare il problema.

Il problema viene visualizzato solo in Chrome: sto utilizzando la versione 43.0.2357.81 (64 bit).

Qualsiasi idea sarebbe apprezzata. Grazie.

+0

Che browser stai utilizzando? Il tuo plunkr sembra funzionare bene su Firefox. – entropic

+0

Quello è corretto, ho dimenticato di dire che questo sembra essere un problema solo di Chrome (anche se l'ho scritto nel Plunker). Sto utilizzando Chrome versione 43.0.2357.81 (64-bit) e l'ho verificato come un problema su più macchine. – phonicx

+0

Anche usando ng-model-options = "{'debounce': 1000}" seleziona ancora quello sbagliato. Forse un problema con il browser? – Okazari

risposta

4

Questa è una soluzione di hacking ed è brutta ma funziona.

<select ng-model="workflowData.section" ng-options="s.name as s.name for s in sections" class="fullwidth" ng-keypress="workflowData.section = s.name"> 
</select> 

Sinceramente non so perché il codice originale non ha funzionato.

+0

Questo è un bel suggerimento, più di una correzione "angolare" di alcuni degli altri che stavamo guardando - grazie. – phonicx