使用 jquery-autocomplete插件 完成文本框输入自动填充联想效果 解决兼容IE输入中文问题
2015-04-23 01:40
1401 查看
项目中有时会用到ajax自动补全查询,就像Google的搜索框中那样,输入汉字或者字母的首个字母,则包含这个汉字或者字母的相关条目会显示出来供用户选择,该插件就是实现这样的功能的。autocomplete官网 : http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ (可下载jQuery autocomplete插件)。
下面代码演示Demo
前端代码 主要引用JS文件
JS调用代码 此处采用GetJSON的方式 实际是验证本地数据返回的JSON 如果是远程验证对返回的JSON格式有一定要求
Html代码
显示效果
这样就实现了 文本框 自动联想填充了 具体使用手册可以看http://www.cnblogs.com/amoniyibeizi/p/4449162.html
解决兼容IE问题 修改后的源码
http://files.cnblogs.com/files/amoniyibeizi/autocomplete.rar 修改后源码 下载链接
下面代码演示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 = "280836"; p.workNo = "40657"; p.CName = "laula 280836"; p.charName = "李四 40657"; Pesron p1 = new Pesron(); p1.Pinyin = "lausi"; p1.Name = "李四01"; p1.UserNo = "280836"; p1.workNo = "40657"; p1.CName = "lausi 280836"; p1.charName = "李四01 40657"; Pesron p2 = new Pesron(); p2.Pinyin = "lisls"; p2.Name = "李四02"; p2.UserNo = "280836"; p2.workNo = "40657"; 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.ui.autocomplete输入中文不自动完成的解决
- 黑马学习笔记——jQuery UI Autocomplete 输入中文不自动完成问题解决方案
- 【表单提示建议/自动完成功能】jquery autocomplete插件的使用及其改进
- jquery ui autocomplete输入中文不自动完成的问题
- ASP.NET jQuery 随笔 使用jQuery UI的Autocomplete方法实现文本框的自动搜索填充功能
- jQuery自动完成插件Autocomplete使用实例
- Jquery AutoComplete的使用方法实例(自动完成、自动填充)插件
- 使用jQuery Autocomplete(自动完成)插件
- ASP.NET jQuery 食谱25 (使用jQuery UI的Autocomplete方法实现文本框的自动搜索填充功能)
- .net 使用jQuery Autocomplete(自动完成)插件结合ajax
- jquery autocomplete自动完成插件的的使用方法
- 使用jQuery Autocomplete(自动完成)插件
- jQuery.Autocomplete(新版本)自动完成插件在中文应用时的BUG修正
- Drupal中使用form的#autocomplete_path属性完成json格式的ajax文本框自动填充效果
- inputSuggest文本框输入时提示、自动完成效果(邮箱输入自动补全插件)
- inputSuggest文本框输入时提示、自动完成效果(邮箱输入自动补全插件)
- 智能搜索jquery-autocomplete 自动填充插件使用方法及参数使用说明
- 使用jQuery Autocomplete(自动完成)插件
- jquery autocomplete 自动完成插件常见错误-火狐不支持中文、查询数据存在缓存等
- 完美解决PyCharm使用搜狗等输入法输入中文时,PyCharm搜狗不兼容,只能输入第一个字问题