使用 jquery-autocomplete插件 完成文本框输入自动填充联想效果 解决兼容IE输入中文问题
项目中有时会用到ajax自动补全查询,就像Google的搜索框中那样,输入汉字或者字母的首个字母,则包含这个汉字或者字母的相关条目会显示出来供用户选择,该插件就是实现这样的功能的。autocomplete官网 : http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ (可下载jQuery autocomplete插件)。
下面代码演示Demo
前端代码 主要引用JS文件
// 引用JS
<script src="~/Content/artDialog/lib/jquery-1.10.2.js"></script>
<script src="~/Content/jquery-autocomplete/lib/jquery-migrate-1.2.1.js"></script>
<script src="~/Content/jquery-autocomplete/jquery.autocomplete.js"></script>
<script src="~/Content/jquery-autocomplete/demo/localdata.js"></script> <link href="~/Content/jquery-autocomplete/jquery.autocomplete.css" rel="stylesheet" />
JS调用代码 此处采用GetJSON的方式 实际是验证本地数据返回的JSON 如果是远程验证对返回的JSON格式有一定要求
//JS调用
<script type="text/javascript">
$(function () { $.getJSON("/Home/Seach", function (msg) {
$(".suggest13").autocomplete(msg, {
minChars: 0,//响应从输入的第一次字符开始
multiple:true,//多查询
formatItem: function (row, i, max) {
return i + "/" + max + ": \"" + row.Pinyin + "\" [" + row.CName + "]" + "\" [" + row.charName + "]";//显示的联想字段
},
formatMatch: function (row, i, max) {
return row.Pinyin, row.UserNo; //需要索引匹配的字段
},
formatResult: function (row) {
return row.CName; //选择后返回的字段
}
});
}); });
</script>
Html代码
//Html代码
<body>
<p>
<label>Single City (local):</label>
<input type="text" id="suggest13" class="suggest13" />
</p> </body>
后端数据源 验证本地数据时的Json格式
//验证本地数据时的Json格式
public ActionResult Seach()
{
List<Pesron> list = new List<Pesron>();
Pesron p = new Pesron();
p.Pinyin = "laula";
p.Name = "李四";
p.UserNo = "";
p.workNo = "";
p.CName = "laula 280836";
p.charName = "李四 40657"; Pesron p1 = new Pesron();
p1.Pinyin = "lausi";
p1.Name = "李四01";
p1.UserNo = "";
p1.workNo = "";
p1.CName = "lausi 280836";
p1.charName = "李四01 40657"; Pesron p2 = new Pesron();
p2.Pinyin = "lisls";
p2.Name = "李四02";
p2.UserNo = "";
p2.workNo = "";
p2.CName = "lisls 280836";
p2.charName = "李四02 40657"; list.Add(p);
list.Add(p1);
list.Add(p2); return Json(list, JsonRequestBehavior.AllowGet); } public class Pesron
{
public string Pinyin { get; set; }
public string Name { get; set; }
public string UserNo { get; set; }
public string workNo { get; set; }
public string CName { get; set; }
public string charName { get; set; }
}
显示效果

这样就实现了 文本框 自动联想填充了 具体使用手册可以看http://www.cnblogs.com/amoniyibeizi/p/4449162.html
解决兼容IE问题 修改后的源码
//重写parse方法 放在formatResult方法之后
parse: function (data) {
var parsed = [];
var rows = data.split("\n");
for (var i=0; i < data.length; i++) {
var item = {};
item.Data = data[i];
item.value = data[i][0];
item.result = this.formatResult && this.formatResult(data[i], data[i][0]) || data[i][0];
parsed.push(item);
}
return parsed; }
http://files.cnblogs.com/files/amoniyibeizi/autocomplete.rar 修改后源码 下载链接
使用 jquery-autocomplete插件 完成文本框输入自动填充联想效果 解决兼容IE输入中文问题的更多相关文章
- ASP.NET jQuery 随笔 使用jQuery UI的Autocomplete方法实现文本框的自动搜索填充功能
首先当然是去下载JQuery UI ,这里这里是下载地址http://jqueryui.com/ 第一步是点击这里 第二步选择你想要下载的主题进行下载 我这里是选择的cupertino主题包 点击圆圈 ...
- jquery.autocomplete修改 实现键盘上下键 自动填充
根据需求要实现通过键盘上下移动,获得联想菜单中的值,如同google baidu的查询功能. 在网上找了很久没有找到可以实现该功能的插件,无奈只能自己动手改代码.找到js中的KEY.DOWN 和 KE ...
- Jquery autocomplete 插件示例
通过Jquery autocomplete 插件动态传递输入参数完成自动完成提示: <%@ page language="java" import="java.ut ...
- jquery autocomplete插件
jquery autocomplete插件 https://goodies.pixabay.com/jquery/auto-complete/demo.html autocomplete-table ...
- JQuery初始加载时注册文本框失去焦点事件
在JQuery初始加载时注册文本框失去焦点事件 $(function(){ $('#文本框ID').blur(function(){ //对文本框内容进行处理 }); });
- PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
XHTML 首先将jquery库和相关ui插件,以及css导入.一共引用三个 jquery ,jquery_ui.js,jquery-ui.css 三个文件,不同版本小哥可能稍有差异(最后注意ajax ...
- JQuery+AJAX实现搜索文本框的输入提示功能
平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...
- JQuery select,checkbox用法 文本框只能输入数字
记录一下,方便查找 a.文本框只能输入数字 onkeyup='this.value=this.value.replace(/\D/gi,"")' eg: <input typ ...
- Jquery autocomplete插件的使用
简单用法: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
随机推荐
- Intellij IDEA 文件修改提示星号
https://www.cnblogs.com/zheting/p/7594073.html
- Day Two
站立式会议 站立式会议内容总结 442 完成了计划列表和toolbar的事件监听部分 遇到问题:父组无法实现事件监听,只能实现点击折叠.展开的功能. 331 学习form中list数据添加 遇到的问题 ...
- Alpha发布评价
1.奋斗吧兄弟组 食物链系统 是一个比较成熟的工具,可以应用于生物课程的辅助讲解,具有很强的软件目的性和实用性. 2.Newbee 俄罗斯方块 因为选了很经典的游戏,所以在创新上下了一定功夫,可是没有 ...
- #Leetcode# 917. Reverse Only Letters
https://leetcode.com/problems/reverse-only-letters/ Given a string S, return the "reversed" ...
- 牛B的VUE讲解
https://www.cnblogs.com/lvhw/p/8286544.html
- bzoj 1012: [JSOI2008]最大数maxnumber (线段树)
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 13081 Solved: 5654[Subm ...
- tomcat 启用NIO
从Tomcat6.0以后, Java开发者很容易就可以是用NIO的技术来提升tomcat的并发处理能力. <Connector port="8080" protocol=&q ...
- 【刷题】LOJ 6013 「网络流 24 题」负载平衡
题目描述 G 公司有 \(n\) 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 \(n\) 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运. 输入格式 ...
- 【题解】 bzoj2115: [Wc2011] Xor (线性基+dfs)
bzoj2115,戳我戳我 Solution: 看得题解(逃,我太菜了,想不出这种做法 那么丢个链接 Attention: 板子别写错了 又写错了这次 \(long long\)是左移63位,多了会溢 ...
- 【题解】 [NOI2009]变换序列 (二分图匹配)
懒得复制,戳我戳我 Solution: 这个题面出的很毒瘤,读懂了其实是个板子题qwq 题面意思:有个\(0\)至\(N-1\)的数列是由另一个数列通过加减得到的,相当于将\(A_i\)变成\(i\) ...