傳統的下拉式選單,當選項很多時,容易滑了老半天還是找不到自己要的選項
無意間發現一個蠻好用的套件:chosen, 網址:https://harvesthq.github.io/chosen/#hide-search-on-single-select
它可以讓下拉式選單有查詢功能、多選功能,非常方便,下載必要檔案後,以下就用比較常用的查詢功能來實作
<html>
<head>
@*引用*@
<script src="~/Scripts/jquery-3.4.1.min.js"></script>
<script src="~/chosen/chosen.jquery.js"></script>
<link href="~/chosen/chosen.css" rel="stylesheet" />
</head>
<body>
<input type="button" value="清除" id="clearbtn" />
@*data-placeholder要自定義的話,第一個option需要放空白選項*@
<select name="cid" id="cid" class="chosen" data-placeholder="請選擇一個機構">
<option value=""></option>
<option value="0">耕莘醫院辦理新北市愛維養護中心</option>
<option value="1">臺灣客家語言文化農業推廣協會</option>
<option value="2">財團法人瑞信兒童醫療基金會</option>
<option value="3">財團法人台北縣私立天道總會社會福利慈善事業基金會</option>
<option value="4">台灣關懷弱勢協會</option>
<option value="5">社團法人IPOWER培力學社</option>
</select>
</body>
</html>
<script>
$("#cid").chosen({
no_results_text: "沒有找到結果!",//搜尋無結果時顯示的提示
search_contains: true, //關鍵字模糊搜尋,預設為false,沒另外設定成true的話只能從第一個字開始查詢
allow_single_deselect: true, //是否允許取消選擇,true會顯示x圖示
inherit_select_classes: true//如果要另外設定css(如下方width:450px),要設定為true
});
$('.chosen').css("width", "450px");//設定寬度,直接寫style在<select>標籤無效
//選擇時做的動作
$("#cid").chosen().change(function () {
alert($("#cid").val());
});
//可直接按select上的x來取消選擇,如要另外控制,須加上.trigger("chosen:updated");
$('#clearbtn').click(function () {
$("#cid").val('').trigger("chosen:updated");
})
</script>
補充:讓chosen樣式仿照一般<select class='form-control '> 樣式