异步实时搜索jquery select插件

异步实时搜索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             //filter
11             console.log(filterData);
12         },function(cbData,isInit){
13             //callback
14             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     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,详细请看参考链接、源码。

四:声明:

  1. 本插件是根据现有插件,根据自己的需求修改而来。如有小问题请自行修改源码即可。
  2. 如果不是异步搜索,其它插件譬如layui、select2也是不错的选择。
  3. 另外此插件依赖jquery。

五、源码及参考链接。

  1.源码:ajaxselect.js

  2.参考:

    主要参考:http://blog.csdn.net/linfenpan/article/details/48750889

    其它插件:layui、jquery.select2、ddlist 自行百度即可

原文地址:https://www.cnblogs.com/PheonixHkbxoic/p/7698245.html