[英]How do I create a dropdown menu with a search for MySQL database
我想創建一個帶有搜索選項的 select 框,但該選項來自我的數據庫。
我到目前為止的代碼
<form name="form1" action="" method="post">
<table>
<tr>
<td>
<select name="id" class="form-control selectpicker">
<?php
$res=mysqli_query ($link,"select id, nama from peminjaman");
while ($row = mysqli_fetch_array($res))
{
echo "<option>";
echo $row["id"].". " .$row["nama"];
echo "</option>";
}
?>
</select>
</td>
嘗試這個。
function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } function filterFunction() { var input, filter, ul, li, a, i; input = document.getElementById("myInput"); filter = input.value.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"; } } }
.dropbtn { background-color: #04AA6D; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; }.dropbtn:hover, .dropbtn:focus { background-color: #3e8e41; } #myInput { box-sizing: border-box; background-image: url('searchicon.png'); background-position: 14px 12px; background-repeat: no-repeat; font-size: 16px; padding: 14px 20px 12px 45px; border: none; border-bottom: 1px solid #ddd; } #myInput:focus {outline: 3px solid #ddd;}.dropdown { position: relative; display: inline-block; }.dropdown-content { display: none; position: absolute; background-color: #f6f6f6; min-width: 230px; overflow: auto; border: 1px solid #ddd; z-index: 1; }.dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; }.dropdown a:hover {background-color: #ddd;}.show {display: block;}
<div class="dropdown"> <button onclick="myFunction()" class="dropbtn">Dropdown</button> <div id="myDropdown" class="dropdown-content"> <input type="text" placeholder="Search.." id="myInput" onkeyup="filterFunction()"> <a href="#about">About</a> <a href="#base">Base</a> <a href="#blog">Blog</a> <a href="#contact">Contact</a> <a href="#custom">Custom</a> <a href="#support">Support</a> <a href="#tools">Tools</a> </div> </div>
你這樣做的方式假設你在數據庫中有很多數據並且你希望每次加載頁面時都加載它們。 那會減慢一切。 對於 AJAX 的工作方式,您應該 go。 而且它已經用 select2 jquery 插件完成了。 這是該鏈接。
https://select2.org/data-sources/ajax
api已經做了很多事情,你只要把數據編碼成JSON就可以了,其實從這里開始比較好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.