模擬下拉選項框select
在css3流行的情況下,下拉框還是無法滿足PD的需求,所以有了autosearch,有了模擬下拉框。效果如下圖:
select
DEMO請案例點擊這里查看.http://www.lovewebgames.com/jsmodule/select.html
源碼查看下載請點擊這里https://github.com/tianxiangbing/select
調用示例
<select name="select" id="select"> <option value="-1">請選擇</option> <option value="1">男</option> <option value="0" selected="true">女</option> <option value="10" disabled="true">"'人妖</option> </select> <select id="select2"></select> <input type="text" id="select3" style="height:30px;" value="2"> <a id="select4" data-value="1"></a>
<link rel="stylesheet" type="text/css" href="../src/select.css"> <script type="text/javascript" src="../src/jquery-1.11.2.js"></script> <script type="text/javascript" src="../src/select.js"></script> <script> var select = new Select(); select.init({ target: '#select' }); $('#select2').Select({ width:100, model: [{ text: "請選擇", value: "1" }] }); var model=[{ text: "浙江浙江浙江浙江浙江", value: "1" },{ text: "杭州", value: "2" },{ text: "寧波", value: "3" },{ text: "湖北", value: "4" },{ text: "上海", value: "5" },{ text: "萬達", value: "6" },{ text: "物美", value: "7", disabled:true },{ text: "中國", value: "8" },{ text: "外國", value: "9" }]; $('#select3').change(function(){ console.log('選中個:'+$(this).val())//或者selected }).Select({ width:100, maxHeight:300, maxWidth:'auto', model: model }); var sel=$('#select4').Select({ width:100, height:24 })[0]; setTimeout(function(){ sel.setData(model);//動態更改數據源 },2000); </script>
API
屬性
target:[DOM|String|$]
要改變成select的節點,可以原來就是select,也可以是其他元素,如果是其他元素時,優先取value取為選中項,否則取data-value值;
model:Array
數據源數組[value:'1',text:'文本',disabled:false],如果無的時候,會去option,disabled可以控制是否可選,option上同
multi:bool
是否多選,暫缺
disabled:bool
是否可用,默認可用false,
如果沒有這個值會去取target的disabled或target.hasClass('disabled')來判斷是否可用
方法
setData:function(data)
更改數據源data為數組[value:'1',text:'文本',disabled:false]
selected:function(val,txt)
選中后的回調
事件
change:[value]
選中項改變時觸發
blur:
隱藏時觸發