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

先看一下autocomplete的参数

  • serviceUrl:服务器端的URL或者是返回 Url 字符串的回调函数
  • ajaxSettings:jQuery Ajax 请求的额外配置
  • lookup:查询的数据列表。字符串数组或者对象字面量(格式 { value: ‘string‘, data: any }
  • lookupFilter: function (suggestion, query, queryLowerCase) {} 本地数据查询的过滤函数
  • lookupLimit:查询条数限制,默认值:no limit
  • onSelectfunction (suggestion) {} ,用户选择查询结果后的毁掉函数
  • minChars:触发提示的最小单词数,默认值:1
  • maxHeight:提示列表容器的最大高度,默认值:300
  • deferRequestBy:延迟Ajax请求的毫秒数,默认值:0
  • width:提示容器的宽度,默认值:auto
  • params:参数传递的请求,可选
  • formatResultfunction (suggestion, currentValue) {}
  • delimiter:字符串或正则表达式,分割输入值并将最后一个作为查询词,一般逗号分割
  • zIndex:提示容器的z-index值,默认值:9999
  • type:获取提示的 Ajax 请求方式,默认值:get
  • noCache:是否缓存提示结果,默认值:false
  • onSearchStartfunction (query) {}
  • onSearchCompletefunction (query, suggestions) {}
  • onSearchErrorfunction (query, jqXHR, textStatus, errorThrown) {}
  • onInvalidateSelectionfunction () {},选择提示结果后,如果input的值发生变化则调用函数
  • triggerSelectOnValidInput:如果匹配查询,只要聚焦 input 就触发 onSelect 函数,默认值:true
  • preventBadQueries:默认值:true
  • beforeRenderfunction (container) {} 在展示查询结果之前调用函数
  • tabDisabled:默认值:false
  • paramName:默认值:‘query‘
  • transformResultfunction(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.

时间: 2024-10-08 15:24:46

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

Jquery autocomplete插件的使用

简单用法: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></ti

C#中使用JQueryUI中Autocomplete插件

服务器端后台代码: 1 private string GetModelNames() { 2 return @"[ 3 { 4 'value': 'jquery', 5 'label': 'jQuery', 6 'desc': 'the write less, do more, JavaScript library', 7 }, 8 { 9 'value': 'jquery-ui', 10 'label': 'jQuery UI', 11 'desc': 'the official user i

JS实战 &#183; 复选框全选操作

思路: 1.获取被选中checkbox,通过checked属性的状态完成: 2.获取被选中的checkbox的value值: 3.求所有value的和sum: 4.定义span区域存储和sum: 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>表单组件:全选操作</title

2014.12.5 ios实现相册多选操作

JS控制HTML5 vedio播放 UITableview自适应高度 ios实现相册多选操作 2014-09-17 19:35:07|  分类: objective-c |  标签:ios  相册多选   |举报 |字号大中小 订阅 我们知道UIKit框架为我们提供了UIImagePickerController 这个控制器来读取相册资源,但是通过这个控制器我们只能选取一张照片,但是如果想选取多张照片,又该如何操作呢?AssetsLibrary.framework 通过这个框架,我们可以读取到相

Android在listview添加checkbox实现单选多选操作问题

android根据View的不同状态更换不同的背景http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版]http://www.eoeandroid.com/thread-198019-1-1.html 让服务器iis支持.apk文件下载的设置方法http://www.eoeandroid.com/thread-198033-1-1.html 在 android 某些开发需求当中,有时候需要在listve

JQuery 的Autocomplete插件 result

工作当中用到了JQuery 的Autocomplete插件,但是遇到的是非常规使用的问题. 其一是下拉菜单的显示和填入文本框的结果要求的字符串不一样,即显示用户名,所属部门,但是填入文本框里的是用户名和电话号码 其二是在用户Select过后,需要触发事件,把用户的ID传到另一个隐藏的文本框中 首先咱比较懒,于是在网上google了一下技术方案,发现都比较复杂.出于想偷懒的目的,研究了Autocomplete的在线DOC以后,发现有很简单的解决方案 首先是应用Autocomplete的format

Bootstrap 历练实例 - 按钮(Button)插件复选框

复选框(Checkbox) 您可以创建复选框按钮 组,并通过向 btn-group 添加 data 属性 data-toggle="buttons" 来添加复选框按钮组的切换. <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Boo

第十六篇 JS实现全选操作

JS实现全选 嗨,同学们好,老师这里是专门教同学解决一些针对性的问题,所以说综合起来,就要靠同学自己了. 这节课我们学一个很实用的东西,全选操作!比如淘宝这种商城对吧,我的购物车,我要全选购买,或者删除,一个一个的来肯定麻烦,所以就有了全选和批量处理,那就是复选框! 这里我们用一个table表格来控制吧!看代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&

BootStrap iCheck插件全选与获取value值的解决方法

这篇文章主要介绍了BootStrap iCheck插件全选与获取value值的解决方法,解决方法其实很简单,下面小编给大家分享下这方面的知识 在使用jQuery iCheck 插件的时候遇到了一个问题,就是当我们使用普通的js全选功能无效了. $("#checkall").click( function(){ if(this.checked){ $("input[name='checkname']").each(function(){this.checked=tru