这是一个基于 bootstrap 按钮式下拉菜单组件 ( V3 / V4 ) 的搜索建议插件。
配置了 data-id,非下拉菜单选择输入则背景色警告。
clearable: true, //可清除已输入内容
ignorecase: true, //忽略大小写
effectiveFieldsAlias:{userName: "姓名"}, //有效字段别名
showHeader: true, //显示 header
showBtn: false, //不显示下拉按钮
delayUntilKeyup: true //获取数据方式为 firstByUrl 时,延迟到有输入/获取到焦点时请求
提示:
clearable 参数使用了 glyphicons 图标。bootstrap v4 默认不带该图标样式,所以该参数不会生效。此时可自行在 html 代码的 input 输入框标签前添加 i.clearable 标签元素来实现。
例如,页面中引入了 font-awesome,可添加标签为(见下一个示例):
<i class="clearable fa fa-remove"></i>
默认启用空关键字检索。
支持逗号分隔多关键字
allowNoKeyword: false, //无输入时不执行过滤请求
multiWord: true, //以分隔符号分割的多关键字支持
separator: ",", //多关键字支持时的分隔符
getDataMethod: "url" //总是从 URL 获取数据
支持逗号分隔多关键字
allowNoKeyword: false, //无输入时不执行过滤请求
multiWord: true, //以分隔符号分割的多关键字支持
separator: ",", //多关键字支持时的分隔符
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
fnPreprocessKeyword: function(keyword) {
//请求数据前,对输入关键字作预处理
return $.trim($('#preKeyword').val()) + keyword;
}
allowNoKeyword: false, //无输入时不执行过滤请求
multiWord: true, //以分隔符号分割的多关键字支持
separator: ",", //多关键字支持时的分隔符
getDataMethod: "url", //总是从 URL 获取数据
fnAdjustAjaxParam: function(keyword, opts) {
//调整 ajax 请求参数方法,用于更多的请求配置需求。如对请求关键字作进一步处理、修改超时时间等
console.log('ajax 请求参数调整:', keyword, opts);
return {
timeout: 10000,
data: {
t: (new Date()).getTime(),
wd: $('#customKeyword').val() + keyword
}
};
}
支持逗号分隔多关键字,并展示列表表头。
allowNoKeyword: false, //无输入时不执行过滤请求
multiWord: true, //以分隔符号分割的多关键字支持
separator: ",", //多关键字支持时的分隔符
getDataMethod: "url", //总是从 URL 获取数据
autoDropup: true, //自动判断向上/下
showHeader: true, //显示多个字段的表头
effectiveFieldsAlias: {Id: "序号", Keyword: "关键字", Count: "数量"} //showHeader 时,header 别名