# jquery search select **Repository Path**: devin-alan/jquery-search-select ## Basic Information - **Project Name**: jquery search select - **Description**: jquery 支持拼音搜索的选择插件 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2016-04-18 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Jquery search select是基于Jquery开发的一个带搜索的select插件,本插件可根据后台返回的文本和拼音实现选项的搜索查找。在开发时参考了老外编写的类似插件然后结合easy ui combobox组件的api, 意在提高插件的易用度。 插件依赖于jQuery 1.11或者更高的版本,浏览器需支持html5,在使用时需要对select加上一个唯一的id。 在需要的页面导入jquery和本插件即可 导入css ``` ``` 导入js ``` ``` # Usage 1: 对于写在页面中的select只需添加data-toggle="select"就可快速使用,当然可以增加拼音data-pinyin属性来支持拼音搜索。 ``` ``` # Usage 2: 使用本地数据创建select,数据参考如下 ``` var json=[ { "id": "1", "name": "sunyu", "pinyin": "sy" }, { "id": "2", "name": "lisi", "pinyin": "ls" }, { "id": "3", "name": "zhangsan", "pinyin": "zs" }, { "id": "4", "name": "wangwu", "pinyin": "ww" } ]; ``` 使用数据渲染 ``` //js代码 $("#demo2").select({ localData:json, emptyMsg:'未找到查询结果', valueField:'id', textField:'name', //placeholder:'==请选择==', pinyinField:'pinyin', onSelect:function(value,text){ console.log("value:"+value); console.log("text:"+text); } }); ``` # Usage 3: 使用ajax请求远程数据来渲染创建 ``` $("#demo3").select({ url:'xx' type:'post' dataType:'json' emptyMsg:'未找到查询结果', valueField:'id', textField:'name', params:{ name:'lisi' }, //placeholder:'==请选择==', pinyinField:'pinyin', onSelect:function(value,text){ console.log("value:"+value); console.log("text:"+text); } }); ``` # 配置项说明 1. url是用于请求远程数据是指定url的,url的优先级高于localData 2. type是用于指定远程请求的方式,默认是get 3. dataType是远程请求数据使用的类型 4. params是远程请求用于指定请求参数的配置 5. localData是用于加载本地的json数据,优先级低于url 6. setDefaultSelect是用于设置默认选中,默认是false 7. selectMaxWidth是用于指定选择框的宽度,默认是200 8. emptyMsg是用于自定指定未搜索到记录时的提示 9. placeholder是用于设置自定义的站位符 10. valueField是用于指定解析数据用于设置select value值的字段名 11. textField是用于指定解析数据用于设置select text值的字段名 12. pinyinField是用于指定解析数据中用于pingyin搜索的字段名,该设置不是必须 13. optgroup用于设置使用需要对select分组,默认是false即普通的select,如果设置为true则需要配置groupLabelField 14. groupLabelField用于设置option label值的解析字段名 15. optionsDataFiled是用于当组件启用optgroup时指定的分组子选项值数组字段数据 # 回调方法事件说明 1. onSelect(value, text, optData)方法是鼠标选中某一下拉选项的回调事件,value值选中项的值,text是选中项的文本,optData是选中select对应的整个完整数据 2. onLoadSuccess(xhr) 方法是用于指定远程加载前的事件 3. success(data) 方法是用于指定数据加载成功后的事件 4. error()远程数据请求发生错误时的回调事件 # 开放接口说明 1. getText()方法用于获取选中项的文本,使用参考$mySel.select("getText") 2. getValue()方法用于获取选中项的值,使用参考$mySel.select("getValue") 3. checked(value)方法用于根据具体的value绑定选中项,使用参考 $mySel.select('checked',2) 4. getData()方法用于获取选中项绑定的完整数据,使用参考$mySel.select('getData') # Gulp构建 ## 安装gulp 如果对于第一次使用gulp,则需要安装gulp。 ``` npm install -g gulp //-g表示全局安装 ``` ## 安装基本插件 ``` npm install --save-dev ``` ## 安装gulp-load-plugins和gulp-cssnano gulp-load-plugins用于统一加载插件,gulp-cssnano用于处理css ``` npm install gulp-load-plugins --save-dev npm install gulp-cssnano --save-dev ``` ## 启动项目 ``` gulp ``` ## 访问项目 gulp监听dest目录,example中的例子构建后都将输出到dest目录 ``` http://localhost:8080/demo1.html ```