异步实时搜索jquery select插件
一、先看看效果。
二、做此插件的原因。
1.数据量过大(几千、几万条),无法一次性全部加载。
2.现有插件各不相同,无法满足功能需求。
3.美观性,可控性不足。
三、如何使用。
1.html和js
1 <select id="unit"></select>2 <script type="text/javascript" src="/demo/thirdparty/jquery/jquery-1.8.3.min.js"></script>3 <script src="/demo/thirdparty/pheker/ajaxselect.js"></script>
2.实例。
1 # 使用实例 2 ????????var initUrl = "/demo/defineDict.do?method=getEnterpriseDict&unitName="+encodeURIComponent(encodeURIComponent("xx无烟煤矿业集团有限责任公司")); 3 ????????var ajaxUrl = "/demo/defineDict.do?method=getEnterpriseDict&unitName="; 4 ????????var $select = $("#ajaxselect").ajaxselect({ 5 ????????????initUrl:initUrl, 6 ????????????ajaxUrl:ajaxUrl, 7 ????????????defkv:[‘id‘,‘text‘], 8 ????????????selected:0, 9 ????????},function(filterData,isInit){10 ????????????//filter11 ????????????console.log(filterData);12 ????????},function(cbData,isInit){13 ????????????//callback14 ????????????console.log(cbData);15 ????????});16 ????????$select.on("change", function(){17 ????????????console.log(this.value);18 ????????});
3.详细配置。
1 var defcfg = { 2 ????initUrl:‘‘, ???????????//初始化请求地址 3 ????ajaxUrl:‘‘, ???????????//异步请求地址 4 ????defkv:[], ???????????//返回数据 的key 5 ????delay:200, ???????????//ajax回调 延时 6 ????width:200, ???????????//input 宽度 7 ????height:30, ???????????//input 高度 8 ????selected:-1, ???????//初始化数据 默认选中项,-1为不选中 9 ????limit:20, ???????????//最大显示条数,0为不限制10 ????maxheight:250, ???????//最大显示高度11 ????hoverbg:‘#189FD9‘, ???//悬浮背景色12 ????activebg:‘#5FB878‘, ???//选中项背景色13 ????style:‘‘ ???????????//自定义样式14 };
还有一些其它的api,详细请看参考链接、源码。
四:声明:
- 本插件是根据现有插件,根据自己的需求修改而来。如有小问题请自行修改源码即可。
- 如果不是异步搜索,其它插件譬如layui、select2也是不错的选择。
- 另外此插件依赖jquery。
五、源码及参考链接。
1.源码:ajaxselect.js
2.参考:
主要参考:http://blog.csdn.net/linfenpan/article/details/48750889
其它插件:layui、jquery.select2、ddlist 自行百度即可
异步实时搜索jquery select插件
原文地址:http://www.cnblogs.com/PheonixHkbxoic/p/7698245.html