位置: 编程技术 - 正文

jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解

编辑:rootadmin

推荐整理分享jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了jQuery autoComplete插件两种使用方式及动态改变参数值的方法。分享给大家供大家参考,具体如下:

一、一次加载、多次使用:

前端JS代码:

后台JAVA代码:

配置文件相关代码:

二、根据输入内容动态加载:

前端JS代码:

后台JAVA代码:

说明:在使用动态加载时,请求的URL中插件会自动追加q参数,用于传输输入的参数。

注:使用Jquery中的autoComplete插件实现自动匹配功能时,直接使用它来解析json对象时,会出现一个错误提示,因为它默认使用"/n"拆分行、"|"拆分字段。如果需要使用它来解析json对象,则需要自己实现其parse方法。

参数说明:

* minChars (Number): 在触发autoComplete前用户至少需要输入的字符数.Default: 1,如果设为0,在输入框内双击或者删除输入框内内容时显示列表* width (Number): 指定下拉框的宽度. Default: input元素的宽度* max (Number): autoComplete下拉显示项目的个数.Default: * delay (Number): 击键后激活autoComplete的延迟时间(单位毫秒).Default: 远程为 本地* autoFill (Boolean): 要不要在用户选择时自动将用户当前鼠标所在的值填入到input框. Default: false* mustMatch (Booolean): 如果设置为true,autoComplete只会允许匹配的结果出现在输入框,所有当用户输入的是非法字符时将会得不到下拉框.Default: false* matchContains (Boolean): 决定比较时是否要在字符串内部查看匹配,如ba是否与foo bar中的ba匹配.使用缓存时比较重要.不要和autofill混用.Default: false* selectFirst (Boolean): 如果设置成true,在用户键入tab或return键时autoComplete下拉列表的第一个值将被自动选择,尽管它没被手工选中(用键盘或鼠标).当然如果用户选中某个项目,那么就用用户选中的值. Default: true* cacheLength (Number): 缓存的长度.即对从数据库中取到的结果集要缓存多少条记录.设成1为不缓存.Default: * matchSubset (Boolean): autoComplete可不可以使用对服务器查询的缓存,如果缓存对foo的查询结果,那么如果用户输入foo就不需要再进行检索了,直接使用缓存.通常是打开这个选项以减轻服务器的负担以提高性能.只会在缓存长度大于1时有效.Default: true* matchCase (Boolean): 比较是否开启大小写敏感开关.使用缓存时比较重要.如果你理解上一个选项,这个也就不难理解,就好比foot要不要到FOO的缓存中去找.Default: false* multiple (Boolean): 是否允许输入多个值即多次使用autoComplete以输入多个值. Default: false* multipleSeparator (String): 如果是多选时,用来分开各个选择的字符. Default: ","* scroll (Boolean): 当结果集大于默认高度时是否使用卷轴显示 Default: true* scrollHeight (Number): 自动完成提示的卷轴高度用像素大小表示 Default: * formatItem (Function): 为每个要显示的项目使用高级标签.即对结果中的每一行都会调用这个函数,返回值将用LI元素包含显示在下拉列表中. Autocompleter会提供三个参数(row, i, max): 返回的结果数组, 当前处理的行数(即第几个项目,是从1开始的自然数), 当前结果数组元素的个数即项目的个数. Default: none, 表示不指定自定义的处理函数,这样下拉列表中的每一行只包含一个值.* formatResult (Function): 和formatItem类似,但可以将将要输入到input文本框内的值进行格式化.同样有三个参数,和formatItem一样.Default: none,表示要么是只有数据,要么是使用formatItem提供的值.* formatMatch (Function): 对每一行数据使用此函数格式化需要查询的数据格式. 返回值是给内部搜索算法使用的. 参数值row* extraParams (Object): 为后台(一般是服务端的脚本)提供更多的参数.和通常的作法一样是使用一个键值对对象.如果传过去的值是{ bar:4 },将会被autocompleter解析成my_autocomplete_backend.php&#;q=foo&bar=4 (假设当前用户输入了foo). Default: {}* result (handler) Returns: jQuery 此事件会在用户选中某一项后触发,参数为: event: 事件对象. event.type为result. data: 选中的数据行. formatted:formatResult函数返回的值 例如:

jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解

注:另一种方式可动态改变参数传入值。

我们知道这个插件有一个extraParams的参数,因为jquery.autoComplete只支持q和limit两个参数,假如有这样的情况,我们需要向服务器提交更多参数怎么办呢,幸好,作者为我们提供一个扩展参数,就是extraParams。extraParams好是好,可是不幸的是,它是一个死的参数,有时候,我们需要提交一个活的参数到服务器。举例说明,比如说我们有一个公司名称的自动完成功能,但我们同时需要向服务器提供一个城市的参数,正常的情况下没有问题。但当城市的名称是由用户选择的时候,就有问题了,也就说,这个城市的名称是根据用户选择而实时变化的,这个时候,现有的jquery.autoComplete就无能为力了。

这个时候我们就要考虑修改修改一下jquery.autoComplete了,我们先看一下代码,代码有一个onChange事件,这是一个解发事件,我们可以在这里添加一个回调函数来解决问题。首先我们要为options中添加一个参数叫onBegin,大致就在行左右吧,有一行这样的代码:

我们在后面添加一段

然后我们找到onChange事件,约在行,代码如下:

在函数时里面添加如下代码:

if (options.onBegin) { var op = options.onBegin(options); if (op) { $.extend(options, op); }}

这段代码被修改过后看起来就像这样:

再来看调用:

其实做的只有三步:

1. 在options中添加一个onBegin的参数2. 在onChange中判断onBegin是否有赋值,如果有,则调用这个函数,返回将返回值合并到options中去3. 调用的时候,在onBegin函数中添加一些业务逻辑,并可以重新设置options

就这样,我们不仅可以达到动态去添加extraParams参数,而且还可以动态地修改其它options参数,这个onBegin在用户改变输入框的值就会触发。

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery窗口操作技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

html、css和jquery相结合实现简单的进度条效果实例代码 废话不多说了,直接给大家贴代码了,具体代码如下所示:!DOCTYPEhtmlhtmlxmlns="

可输入文字查找ajax下拉框控件 ComBox的实现方法 GooFunc.js文件//获取一个DIV的绝对坐标的功能函数,即使是非绝对定位,一样能获取到functiongetElCoordinate(dom){vart=dom.offsetTop;varl=dom.offsetLeft;dom=dom.offsetParent;whil

jquery popupDialog 使用 加载jsp页面的方法 如下所示:prename="code"class="html"//加载全部菜单initAllMenuPage:function(obj){varselect=$('#gbbcbdtbodytr.selected').attr('value');if(select){popupDialog(obj.id

标签: jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解

本文链接地址:https://www.jiuchutong.com/biancheng/379352.html 转载请保留说明!

上一篇:jQuery插件实现可输入和自动匹配的下拉框(jquery插件使用教程)

下一篇:html、css和jquery相结合实现简单的进度条效果实例代码

  • 计算企业所得税分录
  • 计提企业所得税会计分录怎么做
  • 契税完税凭证是不是契税发票
  • 不得公开发行股票的情形
  • 个人所得税分摊方式月扣除金额修改
  • 金税盘减免账务处理
  • 在分公司签的合同能转到总公司吗
  • 增值税开票内容货物及应税劳务服务名称都有哪些
  • 当月收到的发票可以当月认证吗
  • 账面上现金过多的税务风险
  • 如何开商业承兑汇票业务
  • 企业清理固定资产所得税汇算是需要调整吗
  • 当月逾期押金收违约金吗
  • 企业出口不退税怎么处理
  • 物业收停车费要交房产税吗
  • 残保金申报表怎么作废
  • 公司亏损转让股权
  • 三证合一后有效期多久
  • 特许权使用费代扣代缴增值税
  • 电话费开专票可抵扣吗
  • 个人是否可以开展募捐
  • 个人取得下列各项所得须自行申报纳税的有
  • 建筑企业预交增值税问题尚未得到解决
  • 一般纳税人增值税申报操作流程
  • 向境外支付违约金要代扣税吗
  • 办公室房租计入什么科目
  • 结息的会计分录怎么写
  • ukey抄报税全流程视频教程
  • 住宿发票税率免税是怎么回事
  • 普惠性税收优惠政策包括
  • 应收账款坏账准备是信用减值损失还是资产
  • 楷体_gb2312字体
  • 什么是留存收益项目
  • 各部门领料情况,a产品耗用甲材料3200元
  • 在windows中桌面是
  • 浅谈25年Linux内核开发经历总结出来的九条经验
  • win11怎么添加字体到个性化
  • win11电脑怎么重置
  • 小规模纳税人差额征税
  • window10解压
  • 企业政策性拆迁资产重置算支出吗
  • 营改增允许从销售额中扣
  • 落基山国家公园攻略
  • thinkphp import
  • 前端 大前端
  • Github ChatGPT-Web:了解最新AI技术的前沿应用!
  • php ajax
  • php ffi
  • 土地开发是什么
  • 研发费用加计扣除新税收政策
  • 自然人独资可以变更为有限责任公司
  • 帝国cms获取当日发布的url链接
  • 发票验旧后还要缴销吗
  • 物流公司贷款
  • 进项税额不得从销项税额中抵扣项目是什么意思
  • 增值税发票过期一年未认证怎么办
  • 人力资源公司的盈利模式
  • 进料加工与来料加工
  • 负债表预付账款怎么填
  • 管理费用明细科目设置和核算需要注意哪些问题
  • 公司无形资产可以作为公司注册资金吗
  • mysql导入sql脚本指定编码
  • mysql的索引实现原理
  • bios如何关闭网卡
  • win8操作系统界面
  • macpro删除文件
  • 苹果Mac OS X通知中心提示音怎么修改 OS X通知中心提示音更换方法图解
  • win10 Mobile 10586.36预览版更新了哪些内容?
  • win7系统中如何查看隐藏文件
  • 批处理字符串截取
  • 批处理倒计时30秒内打开文件a,否则30秒后执行文件b
  • jquery 右键菜单
  • android开发之apritag
  • 异步任务管理器
  • unity人物换肤用什么方法
  • js如何修改style
  • python3 re
  • 税控盘异常什么原因
  • 利润报表怎么填写
  • 城市维护建设税法自2021年10月1日起施行
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设