表單元素讓人愛恨交加。作為網頁最重要的組成部分,表單幾乎無處不在,從簡單的郵件訂閱、登陸注冊到復雜的需要多頁填寫的信息提交功能,表單都讓開發者花費了大量的時間和精力去處理,以期實現好用又漂亮的表單功能。這篇文章分享幾款很棒的 JavaScript 下拉列表功能增強插件。
Selectize 是一個基於 jQuery 的 <select> UI 控件,對於標簽選擇和下拉列表功能非常有用。
Selectize 的目標是通過簡單而強大的 API 提供堅實可用的用戶體驗。
主要特色:
- 簡潔的 API,有詳細的幫助文檔;
- 支持智能排序和多屬性搜索,甚至可以使用打分函數進行排序的;
- 支持鍵盤操作,對用戶使用友好;
- 支持同時選擇和刪除多個項目;
- 支持遠程數據加載,例如 Ajax 調用;
使用示例:
單選選擇
$('#select-beast').selectize({ create: true, sortField: 'text' });
多項選擇
$('#select-state').selectize({ maxItems: 3 });
FancySelect 這款插件是 Web 開發中下拉框功能的一個更好的選擇。
FancySelect 使用方便,只要綁定頁面上的任何 Select 元素,並調用就 .fancySelect() 就可以了。
默認情況下,FancySelect 在移動設備上使用原生的選擇功能和風格。
使用示例:
<select class="basic"> <option value="">Select something…</option> <option>Lorem</option> <option>Ipsum</option> <option>Dolor</option> <option>Sit</option> <option>Amet</option> </select> $('.basic').fancySelect();
Chosen 是最流行的 jQuery 選擇功能插件,也是我最喜歡,最好用的一個!
Chosen 可以幫助你輕松構建用戶友好的漂亮選擇功能,可以把多選轉換為基於標簽的輸入域。
特色功能:
- 用戶友好的下拉選擇功能,支持搜索;
- 基於標簽的多項選擇功能;
- 支持設置選中和無效選項;
- 支持修改和更新事件;
使用示例:
隱藏搜索的單選功能
$(".chosen-select").chosen({disable_search_threshold: 10});
設置多選的最大選擇數
$(".chosen-select").chosen({max_selected_options: 5});
監聽更新事件
$("#form_field").chosen().change( … );
手動觸發更新
$("#form_field").trigger("chosen:updated");
自定義寬度
$(".chosen-select").chosen({width: "95%"});
DropKick 可以幫助你把已有的煩人的 <select>
列表轉換為漂亮的,可定制的下拉菜單。
使用示例:
默認調用
$('.default').dropkick();
自定義更新事件
$('.change').dropkick({ change: function (value, label) { alert('You picked: ' + label + ':' + value); } });
自定義皮膚
$('.custom_theme').dropkick({ theme: 'black', change: function (value, label) { $(this).dropkick('theme', value); } });
這款免費、輕量的 jQuery 選擇功能插件讓你可以輕松創建帶有圖片和描述的自定義下拉菜單。
使用示例:
使用 JSON 數據
$('#demoBasic').ddslick({ data: ddData, width: 300, imagePosition: "left", selectText: "Select your favorite social network", onSelected: function (data) { console.log(data); } });
獲取選中項
$('#demoShowSelected').ddslick({ data: ddData, selectText: "Select your favorite social network", }); $('#showSelectedData').on('click', function () { var ddData = $('#demoShowSelected').data('ddslick'); displaySelectedData("2: Getting Selected Dropdown Data" , ddData); });
設置選中項
$('#demoSetSelected').ddslick({ data: ddData, selectText: "Select your favorite social network" }); $('#btnSetSelected').on('click', function () { var i = $('#setIndex').val(); if(i >= 0 && i <5) $('#demoSetSelected').ddslick('select', {index: i }); else $('#setIndexMsg').effect('highlight',2400); });
Select 2 是一款用於替代傳統的網頁下拉框的 jQuery 插件,支持搜索、遠程數據和無限滾動等功能。
使用示例:
<head> <link href="select2.css" rel="stylesheet"/> <script src="select2.js"></script> <script> $(document).ready(function() { $("#e1").select2(); }); </script> </head> <body> <select id="e1"> <option value="AL">Alabama</option> ... <option value="WY">Wyoming</option> </select> </body>