Mam dość dużą aplikację, która ma wiele list rozwijanych. Nie chcę modyfikować moich danych, aby dodać pustą opcję i nie chcę, aby można było wybrać symbol zastępczy. Jakie jest najlepsze podejście?Jak dodać niewybaczalny i dostosowywalny symbol zastępczy do pola wyboru
Odpowiedz
Możemy to zrobić łatwo, stosując potężny system dyrektyw firmy Angular do rozszerzenia podstawowego html.
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));
}
};
});
Dzięki temu możemy teraz wykonać następujące czynności:
<select ng-model="number"
ng-options="item.id as item.label for item in values">
</select>
To stworzy pole zaznaczania z Nie można wybrać zastępczy, który mówi „Wybierz ...”
jeśli chcemy zwyczaj zastępczy może po prostu to zrobić:
<select ng-model="dog"
ng-options="dog.id as dog.label for dog in dogs"
default-option="What's your favorite dog?">
</select>
to stworzy pole zaznaczania z Nie można wybrać placeh starsze, które mówi "Jaki jest twój ulubiony pies?"
Plunker Przykład (w coffeescript): http://plnkr.co/edit/zIs0W7AdYnHnuV21UbwK
Plunker Przykład (w javascript): http://plnkr.co/edit/6VNJ8GUWK50etjUAFfey
Można również zrobić to bezpośrednio w 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>
to najbardziej elegancki sposób, jaki kiedykolwiek widziałem. – Xinan
Działa pięknie! ... i nie ma potrzeby niepotrzebnych dyrektyw i stylizacji ... –
- 1. Java - symbol zastępczy pola tekstowego
- 2. Jak dodać symbol zastępczy do wpisu w tkinter?
- 3. Jak dodać pola wyboru do UITableViewCell?
- 4. Python Gtk.Entry symbol zastępczy
- 5. Symbol zastępczy dla wybranej wtyczki dla pojedynczego wyboru nie działa
- 6. Jak dodać element zastępczy do pola wprowadzania tekstu GWT
- 7. Symbol zastępczy w IE7
- 8. HTML5 jako symbol zastępczy
- 9. Pola wprowadzania tekstu JavaScript, które wyświetlają tekst instrukcji (symbol zastępczy).
- 10. Jak zmienić symbol zastępczy w select2?
- 11. Jak dodać zdarzenie onchange do pola wyboru za pośrednictwem javascript?
- 12. Symbol zastępczy dla textarea? (ExtJS)
- 13. jak zamienić symbol zastępczy w łańcuch?
- 14. Jak dodać tekst zastępczy do TinyMCE?
- 15. ExpandableListView i pola wyboru
- 16. Jak dodać @ symbol do ciągów w Androidzie?
- 17. Komórki pola wyboru i wiersze tabeli wyboru do wybrania
- 18. Glide-4.0.0 Brakujący symbol zastępczy, błąd, GlideApp
- 19. dodać 1 do pola
- 20. Symbol zastępczy i wpisany tekst nie wyrównywanie w UITextField
- 21. Dodaj przekreślenie do zaznaczonego pola wyboru
- 22. Symbol zastępczy stylu różni się od wartości z best_in_place
- 23. kątowe js dodać wartość do tablicy wyboru
- 24. Jak wyświetlić MessageBox za pomocą pola wyboru?
- 25. Wymagane pola wyboru AngularJS
- 26. Jak dodać ograniczenie długości do pola tekstowego
- 27. Jak dodać do formularza pola wirtualne
- 28. Sprawdź poprawność pola wyboru
- 29. Jak dodać niestandardowe pola do InlineFormsets?
- 30. Jak dodać dopełnienie do pola jtextfield?
To nie będzie działać, jeśli domyślną opcją jest dynamiczna: http://plnkr.co/edit/SNMYtCcjTY5OVYup5TxX?p=preview –
Pewnie robi: http://plnkr.co/edit/1nj6V2 – codevinsky
Nie .... nie ma: http://plnkr.co/edit/q4Kbymxgw3vY6dcXQW1b?p=preview Jeśli defaultOption zostanie ustawiony później, to element nie wyrenderuje zaktualizowanej opcji. W moim przykładzie defaultOption zostaje ustawione na "TEKST POWINIEN BYĆ TAK", ale nigdy nie widzisz aktualizacji, ponieważ już ją utworzyłeś. –