Super proste rozwiązanie HTML 5:
<input type="search" placeholder="Search..." />
Źródło: samouczek HTML 5 - typ danych wejściowych: wyszukiwanie
Działa co najmniej w Chrome 8, Edge 14, IE 10 i Safari 5 i nie wymaga Bootstrap ani żadnej innej biblioteki. (Niestety wydaje się, że Firefox nie obsługuje jeszcze przycisku czyszczenia wyszukiwania).
Po wpisaniu w pole wyszukiwania pojawi się „x”, który można kliknąć, aby wyczyścić tekst. Będzie to nadal działać jak zwykłe pole edycji (bez przycisku `` x '') w innych przeglądarkach, takich jak Firefox, więc użytkownicy Firefoksa mogą zamiast tego zaznaczyć tekst i nacisnąć Usuń lub ...
Jeśli naprawdę potrzebujesz tej przyjemnej do posiadania funkcji obsługiwanej w Firefoksie, możesz zaimplementować jedno z innych rozwiązań zamieszczonych tutaj jako polyfill dla elementów input [type = search]. Wypełnienie to kod, który automatycznie dodaje standardową funkcję przeglądarki, gdy przeglądarka użytkownika nie obsługuje tej funkcji. Istnieje nadzieja, że z biegiem czasu uda Ci się usunąć wypełnienia w miarę wdrażania odpowiednich funkcji przez przeglądarki. W każdym razie implementacja polyfill może pomóc w utrzymaniu czystszego kodu HTML.
Nawiasem mówiąc, inne typy danych wejściowych HTML 5 (takie jak „data”, „liczba”, „e-mail” itp.) Również zostaną z wdziękiem zdegradowane do zwykłego pola edycji. Niektóre przeglądarki mogą oferować fantazyjny selektor dat, pokrętło z przyciskami w górę / w dół lub (w telefonach komórkowych) specjalną klawiaturę ze znakiem „@” i przyciskiem „.com”, ale według mojej wiedzy wszystkie przeglądarki pokaże przynajmniej zwykłe pole tekstowe dla każdego nierozpoznanego typu danych wejściowych.
Rozwiązanie Bootstrap 3 i HTML 5
Bootstrap 3 resetuje wiele CSS i łamie przycisk anulowania wyszukiwania HTML 5. Po załadowaniu kodu CSS Bootstrap 3 możesz przywrócić przycisk anulowania wyszukiwania za pomocą kodu CSS użytego w następującym przykładzie:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<style>
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: searchfield-cancel-button;
}
</style>
<div class="form-inline">
<input type="search" placeholder="Search..." class="form-control" />
</div>
Źródło: Wyszukiwanie HTML 5 nie działa z Bootstrapem
Przetestowałem, że to rozwiązanie działa w najnowszych wersjach Chrome, Edge i Internet Explorer. Nie mogę przetestować w Safari. Niestety przycisk „x” służący do wyczyszczenia wyszukiwania nie pojawia się w przeglądarce Firefox, ale jak wyżej, w przeglądarkach, które nie obsługują tej funkcji natywnie (np. Firefox), można zaimplementować polyfill.