Voici une solution simple sans aucun plugin. Seulement du html et un peu de jquery. Vous pouvez enregistrer le code suivant comme un fichier html et le tester.
function myFunction() {
$("#dropdown-values").addClass("show");
}
$(document).click(function(e) {
if( e.target.id != 'myInput') {
$("#dropdown-values").removeClass("show");
}
});
function filterFunction() {
var input, filter, a, i;
filter = $("#myInput").val().toUpperCase();
div = document.getElementById("myDropdown");
a = div.getElementsByTagName("a");
for (i = 0; i < a.length; i++) {
txtValue = a[i].textContent || a[i].innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
a[i].style.display = "";
} else {
a[i].style.display = "none";
}
}
}
function setValueOfInput(e) {
$("#myInput").val(e.innerHTML);
}
.dropdown-content {
position: absolute;
background-color: #f6f6f6;
overflow: auto;
}
.dropdown-content a {
color: black;
padding: 10px 16px;
text-decoration: none;
display: block;
}
.dropdown a:hover {background-color: #ddd;}
.show {display: block !important;}
.dropdown-values{
display: none;
}
Menu déroulant avec recherche
option 1
option 2
option 3
option 4
option 5