关于 devbridge-autocomplete 插件多选操作的实现方法
目前据我所知最好用的 autocomplete 插件就是 jquery-ui 的 autocomplete 以及 devbridge 的 autocomplete 插件。
我最终选择了 devbridge 的 autocomplete 插件,主要是不想引用 jquery-ui 的 css 文件。
官方网址:https://www.devbridge.com/sourcery/components/jquery-autocomplete/
先看一下autocomplete的参数
serviceUrl: 服务器端的URL或者是返回 Url 字符串的回调函数ajaxSettings: jQuery Ajax 请求的额外配置lookup: 查询的数据列表。字符串数组或者对象字面量(格式{ value: 'string', data: any })lookupFilter:function (suggestion, query, queryLowerCase) {}本地数据查询的过滤函数lookupLimit: 查询条数限制,默认值:no limitonSelect:function (suggestion) {},用户选择查询结果后的毁掉函数minChars: 触发提示的最小单词数,默认值:1maxHeight: 提示列表容器的最大高度,默认值:300deferRequestBy: 延迟Ajax请求的毫秒数,默认值:0width: 提示容器的宽度,默认值:autoparams: 参数传递的请求,可选formatResult:function (suggestion, currentValue) {}delimiter: 字符串或正则表达式,分割输入值并将最后一个作为查询词,一般逗号分割zIndex: 提示容器的z-index值,默认值:9999type:获取提示的Ajax请求方式,默认值:getnoCache: 是否缓存提示结果,默认值:falseonSearchStart:function (query) {}onSearchComplete:function (query, suggestions) {}onSearchError:function (query, jqXHR, textStatus, errorThrown) {}onInvalidateSelection :function () {},选择提示结果后,如果input的值发生变化则调用函数triggerSelectOnValidInput: 如果匹配查询,只要聚焦input就触发onSelect函数,默认值:truepreventBadQueries: 默认值:truebeforeRender:function (container) {}在展示查询结果之前调用函数tabDisabled: 默认值:falseparamName: 默认值:'query'transformResult:function(response, originalQuery) {}autoSelectFirst: 是否自动填充查询列表的第一项,默认值:falseappendTo: 查询列表容器被添加到那个元素中,默认值:document.bodydataType: 服务器返回的数据格式showNoSuggestionNotice: 如果查询结果为空是否有提示语,默认值:falsenoSuggestionNotice: 提示语,默认值:No resultsforceFixPosition: 默认值:falseorientation: 提示容器的垂直位置,默认值:'bottom',可选值'top','auto'groupBy: 提示数据对象的属性值
配置参数很多,但是有用的可能就几个。
实现多选的关键参数是 delimiter, onInvalidateSelection , triggerSelectOnValidInput
实际项目中autocomplete的难点在于需要查询结果的索引值并保存到隐藏域中,所以 onInvalidateSelection ,triggerSelectOnValidInput 这两个参数非常关键
Demo
该演示代码的多选没有删除操作,留给大家一点思考的余地。当然多选的方式不唯一。
See the Pen autocomplete by Zongbin Niu (@nzbin) on CodePen.
关于 devbridge-autocomplete 插件多选操作的实现方法的更多相关文章
- 原生js实现autocomplete插件
在实际的项目中,能用别人写好的插件实现相关功能是最好不过,为了节约时间成本,因为有的项目比较紧急,没充分时间让你自己来写,即便写了,你还要花大量时间调试兼容性.但是出于学习的目的,你可以利用闲暇时间, ...
- Jquery autocomplete插件的使用
简单用法: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- JS实战 · 复选框全选操作
思路: 1.获取被选中checkbox,通过checked属性的状态完成: 2.获取被选中的checkbox的value值: 3.求所有value的和sum: 4.定义span区域存储和sum: ...
- jquery autocomplete插件
jquery autocomplete插件 https://goodies.pixabay.com/jquery/auto-complete/demo.html autocomplete-table ...
- Android在listview添加checkbox实现单选多选操作问题(转)
转自:http://yangshen998.iteye.com/blog/1310183 在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上 ...
- AngularJs 简单实现全选,多选操作
很多时候我们在处理CURD(增删改查)的时候需要实现批量操作数据,这时候就必须使用多选操作. Angular 中实现如下(当然还有很多种比笔者写的更好的方法,这里只是简单的实现.) demo 演示地址 ...
- C#中使用JQueryUI中Autocomplete插件
服务器端后台代码: 1 private string GetModelNames() { 2 return @"[ 3 { 4 'value': 'jquery', 5 'label': ' ...
- GridControl表头全选操作实现之最优方法
突然发现很久没有写博客了. 昨天整了个Windows Live Writer 就为了以后好好写写博客. 所以,开始咯. 为了积累,也为了分享. 之前在博客园中看到一篇文章:<Winform分页控 ...
- ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL
这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的 ...
随机推荐
- webpack之傻瓜式教程
接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...
- .Net中的AOP系列之构建一个汽车租赁应用
返回<.Net中的AOP>系列学习总目录 本篇目录 开始一个新项目 没有AOP的生活 变更的代价 使用AOP重构 本系列的源码本人已托管于Coding上:点击查看. 本系列的实验环境:VS ...
- app开发外包注意事项,2017最新资讯
我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...
- Spark RDD 核心总结
摘要: 1.RDD的五大属性 1.1 partitions(分区) 1.2 partitioner(分区方法) 1.3 dependencies(依赖关系) 1.4 compute(获取分区迭代列表) ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- C#中如何调整图像大小
在本篇文章中,我将介绍如何在C#中来调整你想要的图像大小.要实现这一目标,我们可以采取以下几个步骤: 1.首先要获取你想要调整大小的图像: string path = Server.MapPath(& ...
- 漫谈C#编程语言在游戏领域的应用
0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球.而在游戏行业中,C#也开始慢慢地获得了关注.这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台 ...
- ABAP单元测试最佳实践
本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...
- Android—万能ListView适配器
ListView是开发中最常用的控件了,但是总是会写重复的代码,浪费时间又没有意义. 最近参考一些资料,发现一个万能ListView适配器,代码量少,节省时间,总结一下分享给大家. 首先有一个自定义的 ...
- iOS 原生地图地理编码与反地理编码
当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 ...