十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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
:默认值: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
这两个参数非常关键
该演示代码的多选没有删除操作,留给大家一点思考的余地。当然多选的方式不唯一。
See the Pen autocomplete by Zongbin Niu (@nzbin) on CodePen.
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。