您的位置:首页 > 编程语言 > VB

关于 devbridge-autocomplete 插件多选操作的实现方法

2017-04-19 10:43 465 查看


先看一下autocomplete的参数

serviceUrl
:服务器端的URL或者是返回
Url 字符串的回调函数
ajaxSettings
:jQuery
Ajax 请求的额外配置
lookup
:查询的数据列表。字符串数组或者对象字面量(格式 
{
value: 'string', data: any }

lookupFilter
: 
function
(suggestion, query, queryLowerCase) {}
 本地数据查询的过滤函数
lookupLimit
:查询条数限制,默认值:
no
limit

onSelect
function
(suggestion) {}
 ,用户选择查询结果后的毁掉函数
minChars
:触发提示的最小单词数,默认值:
1

maxHeight
:提示列表容器的最大高度,默认值:
300

deferRequestBy
:延迟Ajax请求的毫秒数,默认值:
0

width
:提示容器的宽度,默认值:
auto

params
:参数传递的请求,可选
formatResult
function
(suggestion, currentValue) {}

delimiter
:字符串或正则表达式,分割输入值并将最后一个作为查询词,一般逗号分割
zIndex
:提示容器的z-index值,默认值:
9999

type
:获取提示的 Ajax
请求方式,默认值:
get

noCache
:是否缓存提示结果,默认值:
false

onSearchStart
function
(query) {}

onSearchComplete
function
(query, suggestions) {}

onSearchError
function
(query, jqXHR, textStatus, errorThrown) {}

onInvalidateSelection
function
() {}
,选择提示结果后,如果input的值发生变化则调用函数
triggerSelectOnValidInput
:如果匹配查询,只要聚焦
input 就触发 onSelect 函数,默认值:
true

preventBadQueries
:默认
b715
值:
true

beforeRender
function
(container) {}
 在展示查询结果之前调用函数
tabDisabled
:默认值:
false

paramName
:默认值:
'query'

transformResult
function(response,
originalQuery) {}

autoSelectFirst
:是否自动填充查询列表的第一项,默认值:
false

appendTo
:查询列表容器被添加到那个元素中,默认值:
document.body

dataType
:服务器返回的数据格式
showNoSuggestionNotice
:如果查询结果为空是否有提示语,默认值:
false

noSuggestionNotice
:提示语,默认值:
No
results

forceFixPosition
:默认值:
false

orientation
:提示容器的垂直位置,默认值:
'bottom'
,可选值
'top'
,
'auto'

groupBy
:提示数据对象的属性值

配置参数很多,但是有用的可能就几个。

实现多选的关键参数是 
delimiter
, 
onInvalidateSelection
 , 
triggerSelectOnValidInput
 

实际项目中autocomplete的难点在于需要查询结果的索引值并保存到隐藏域中,所以 
onInvalidateSelection
 ,
triggerSelectOnValidInput
 这两个参数非常关键


Demo

该演示代码的多选没有删除操作,留给大家一点思考的余地。当然多选的方式不唯一。

See the Pen autocomplete by Zongbin Niu (@nzbin)
on CodePen.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐