Ho un'app piuttosto grande con molti elenchi a discesa. Non voglio modificare i miei dati per aggiungere un'opzione vuota e non voglio che il segnaposto sia selezionabile. Qual è l'approccio migliore?Come aggiungere un segnaposto non selezionabile e personalizzabile a una casella di selezione
risposta
Possiamo farlo facilmente utilizzando il potente sistema di direttive angular per estendere l'html di base.
app.directive('select', function($interpolate) {
return {
restrict: 'E',
require: 'ngModel',
link: function(scope, elem, attrs, ctrl) {
var defaultOptionTemplate;
scope.defaultOptionText = attrs.defaultOption || 'Select...';
defaultOptionTemplate = '<option value="" disabled selected style="display: none;">{{defaultOptionText}}</option>';
elem.prepend($interpolate(defaultOptionTemplate)(scope));
}
};
});
Con questo, possiamo ora procedere come segue:
<select ng-model="number"
ng-options="item.id as item.label for item in values">
</select>
Questo creerà un menu a tendina con un segnaposto non selezionabile che dice "Seleziona ..."
Se vogliamo un si può semplicemente fare questo:
<select ng-model="dog"
ng-options="dog.id as dog.label for dog in dogs"
default-option="What's your favorite dog?">
</select>
Questo creerà una casella di selezione con un placeh non selezionabile più vecchio che dice "Qual è il tuo cane preferito?"
Plunker Esempio (in CoffeeScript): http://plnkr.co/edit/zIs0W7AdYnHnuV21UbwK
Plunker Esempio (in javascript): http://plnkr.co/edit/6VNJ8GUWK50etjUAFfey
Si può anche farlo direttamente nel codice HTML.
<select ng-model="number"
ng-options="item.id as item.label for item in values">
<option value="" disabled selected style="display: none;"> Default Number </option>
></select>
questo è il modo più elegante che abbia mai visto – Xinan
Funziona magnificamente! ... e non c'è bisogno di direttive o stili disordinati ... –
- 1. Come posso rendere selezionabile una casella immagine?
- 2. Come rendere una casella di testo non selezionabile utilizzando C#
- 3. Effettuare alcune opzioni in un menu di selezione "non selezionabile"
- 4. Come posso mettere a fuoco una casella di selezione selectize?
- 5. come aggiungere un segnaposto di asp.net
- 6. Come aggiungere segnaposto a una voce in tkinter?
- 7. Come aggiungere opzioni a una selezione con una direttiva AngularJS?
- 8. Convalida casella di selezione
- 9. AJAX pieno Select2 non selezionabile
- 10. Come faccio selezionabile o non è selezionabile una griglia kendo da un pulsante
- 11. È possibile rendere non selezionabile una casella di controllo/un pulsante di opzione?
- 12. Casella di selezione scrivibile
- 13. Personalizzabile Android vs Personalizzabile Visualizza
- 14. Come aggiungere una riga nella parte inferiore della casella di selezione come edittext in Android
- 15. Selezione casella di selezione con jQuery
- 16. Come aggiungere un comportamento di selezione a JLabel
- 17. casella a discesa annidata e casella di selezione multipla basata su ogni discesa nelle guide?
- 18. casella di selezione input non utilizzare una spaziatura in Safari
- 19. Come aggiungere elementi a una casella combinata in un modulo in Excel VBA?
- 20. Creazione di un input per una scorciatoia da tastiera personalizzabile
- 21. Come cambio dinamicamente una casella di selezione Scelto?
- 22. Come posso utilizzare una casella di selezione con jQuery AutoComplete?
- 23. Come faccio a ottenere una casella combinata extjs in modo che si comporti come una normale casella di selezione html?
- 24. Testo segnaposto in una casella di testo vuota (vuota) su un modulo di accesso
- 25. Come creare una casella di selezione raggruppata usando simple_form?
- 26. JQuery aggiornare casella di selezione
- 27. come creare una casella di selezione a più con le opzioni di fuori selezionato CodeIgniter
- 28. Come aggiungere la finestra segnaposto in Xcode
- 29. Come rimuovere segnaposto a fuoco
- 30. Impostare l'elemento su non selezionabile e quindi su selezionabile
questo non funzionerà se default-opzione è dinamica: http://plnkr.co/edit/SNMYtCcjTY5OVYup5TxX?p=preview –
Certo lo fa: http://plnkr.co/edit/1nj6V2 – codevinsky
No .... non lo è: http://plnkr.co/edit/q4Kbymxgw3vY6dcXQW1b?p=preview Se defaultOption viene impostato in un secondo momento, l'elemento non renderà l'opzione aggiornata. Nel mio esempio defaultOption viene impostato su "TEXT DOVREBBE ESSERE QUESTO" ma non lo vedi mai aggiornato perché lo hai già creato. –