工作当中用到了JQuery 的Autocomplete插件,但是遇到的是非常规使用的问题。
其一是下拉菜单的显示和填入文本框的结果要求的字符串不一样,即显示用户名,所属部门,但是填入文本框里的是用户名和电话号码
其二是在用户Select过后,需要触发事件,把用户的ID传到另一个隐藏的文本框中
首先咱比较懒,于是在网上google了一下技术方案,发现都比较复杂。出于想偷懒的目的,研究了Autocomplete的在线DOC以后,发现有很简单的解决方案
首先是应用Autocomplete的formatItem和formatResult函数
返回数据集,懒人有懒办法,就用字符串加逗号分隔来表示,一行一个结果:
"NAME1,DEPARTMENT1,TEL1,ID1/r/n NAME2, DEPARTMENT2,TEL2,ID2"
formatItem: 下拉菜单数据显示的定制,这里只显示用户名和部门
formatItem: function(data, i, n) {
var array = data.toString().split(',') ;
return array[0] + '/' + array[1] ;
}
formatResult: 填入文本框的结果,这里填入用户名和电话号码formatItem: function(data, i, n) {
var array = data.toString().split(',');
return array[0] + ', ' + array[2];
}
最后是回调函数,要把用户ID存到一个隐藏文本框中,对此Autocomplete提供了一个子函数.result(),用来在选择结果后回调其他的函数
继续使用万能的split函数来把结果字符串拆分
$('inputfield').autocomplete(url, {options}).result (function(event, data, formatted) {
var array = data.toString().split(',');
$("hiddenfield").val(array[3]);
});
由此懒人的Autocomplete应用就完成了
工作当中用到了JQuery 的Autocomplete插件,但是遇到的是非常规使用的问题。
其一是下拉菜单的显示和填入文本框的结果要求的字符串不一样,即显示用户名,所属部门,但是填入文本框里的是用户名和电话号码
其二是在用户Select过后,需要触发事件,把用户的ID传到另一个隐藏的文本框中
首先咱比较懒,于是在网上google了一下技术方案,发现都比较复杂。出于想偷懒的目的,研究了Autocomplete的在线DOC以后,发现有很简单的解决方案
首先是应用Autocomplete的formatItem和formatResult函数
返回数据集,懒人有懒办法,就用字符串加逗号分隔来表示,一行一个结果:
"NAME1,DEPARTMENT1,TEL1,ID1/r/n NAME2, DEPARTMENT2,TEL2,ID2"
formatItem: 下拉菜单数据显示的定制,这里只显示用户名和部门
formatItem: function(data, i, n) {
var array = data.toString().split(',') ;
return array[0] + '/' + array[1] ;
}
formatResult: 填入文本框的结果,这里填入用户名和电话号码formatItem: function(data, i, n) {
var array = data.toString().split(',');
return array[0] + ', ' + array[2];
}
最后是回调函数,要把用户ID存到一个隐藏文本框中,对此Autocomplete提供了一个子函数.result(),用来在选择结果后回调其他的函数
继续使用万能的split函数来把结果字符串拆分
$('inputfield').autocomplete(url, {options}).result (function(event, data, formatted) {
var array = data.toString().split(',');
$("hiddenfield").val(array[3]);
});
由此懒人的Autocomplete应用就完成了
分享到:
相关推荐
《jQuery Autocomplete 智能联想框JS实现详解》 在网页开发中,为了提高用户体验,经常需要使用到一种功能——智能联想框。这个功能可以让用户在输入框中输入文字时,自动显示与输入内容相关的建议,就像百度搜索...
这个例子展示了如何配置和使用jQuery Autocomplete.js,以及如何与服务器进行交互,实现动态数据加载和选中项的处理。 ### 5. 结论 jQuery Autocomplete.js 插件是提高网页表单输入效率的好帮手,通过与Ajax的结合...
该插件具有高度可定制性,可以设置不同的数据源、触发事件以及提示样式,使得开发者可以根据项目需求进行灵活配置。 ### 使用步骤 1. **引入依赖**:首先,确保你的页面已经引入了jQuery库和`jQuery.autocomplete`...
jQuery Autocomplete插件还提供了丰富的选项和事件,如`delay`用于设置延迟触发自动完成的时间,`position`用于设置建议列表的位置,以及`create`、`focus`、`response`等事件,允许我们自定义组件的生命周期行为。...
`jQuery.autocomplete.js` 是一个流行的JavaScript库jQuery的扩展插件,主要用于实现输入框的自动补全功能。这个插件极大地增强了用户在网页上的交互体验,尤其在处理大量可选项时,用户可以通过输入部分文字快速...
此外,`jquery.autocomplete.js`还提供了许多其他可定制的选项,如`delay`(延迟触发提示的时间)、`appendTo`(指定提示列表插入到哪个元素中)等,可以根据项目需求进行调整。 在压缩包`jquery-autocomplete`中,...
在Web开发中,提供用户友好的输入体验是至关重要的,而jQuery Autocomplete插件就是实现这一目标的有效工具。这个插件,以其便捷性和强大的功能,使得在文本框中实现自动填充变得轻而易举。本文将深入探讨jQuery ...
`jQuery Autocomplete` 提供了多种内置事件,如 `select`(用户选择了建议项)和 `focus`(用户聚焦于某个建议项)。你可以为这些事件绑定自定义处理函数,以执行额外的操作,如记录用户选择、更新其他页面元素等。 ...
jQuery.Autocomplete 是一款广泛使用的 jQuery 插件,它为网页中的输入框提供了自动完成(autocomplete)和建议提示(input suggest)功能。这款插件通过 AJAX 方式动态加载数据,使得用户在输入过程中可以接收到...
这个类包“jquery.autocomplete.zip”包含了实现这一功能所需的两个核心文件:`jquery.autocomplete.css`和`jquery.autocomplete.min.js`,它们一起为开发者构建自动补全搜索框提供了强大的支持。 首先,我们来了解...
- **select**:当用户选择一个建议项时触发的回调函数,可以用来处理选定后的事件。 ### 4. 数据源 - **数组**:可以直接传入一个包含建议项的数组,如 `["Apple", "Banana", "Cherry"]`。 - **函数**:可以返回一...
综上所述,通过`jQuery.autocomplete`的`source`属性和相关事件,我们可以灵活地定制查询逻辑和交互行为,以适应各种复杂的前端搜索场景。配合API接口,我们可以构建出高效、智能的搜索功能,提升用户的使用体验。在...
由于 `jQuery.autocomplete` 是一个可定制的插件,开发者可以轻松地与其他库(如 Bootstrap、jQuery UI 等)集成,或者添加自定义的事件处理程序,以实现更复杂的功能,如实时搜索建议、保存用户历史记录等。...
- **事件监听**:提供了多种事件,如 `select`(选中建议项时触发)、`open`(下拉菜单打开时触发)等,方便我们进行进一步的交互处理。 - **选项配置**:如 `minLength`(最少输入字符数)、`delay`(延迟加载...
jquery autocomplete 支持自动补全,可以做成类似百度搜索那样的
首先,我们需要引入jQuery库和jQuery UI库,这两个库是使用Autocomplete插件的基础。在HTML文件中,确保引入了以下两个链接: ```html <script src="https://code.jquery.com/jquery.js"></script> ...
本教程将详细介绍如何结合Jquery.AutoComplete插件和微软的ChineseConverter.dll库,实现在网页上进行汉字、拼音和简拼的模糊搜索功能。 首先,Jquery.AutoComplete是jQuery UI库中的一个组件,它能为输入框添加...
- 使用 CSS 对下拉列表及选项进行美化,可以通过修改 `.ui-autocomplete` 和 `.ui-menu-item` 等类来实现。 6. **兼容性和版本** `jQuery Autocomplete` 原本是 jQuery UI 的一部分,但现在作为一个独立的插件...