在ASP.NET MVC中使用typeahead.js支持预先输入,即智能提示
2014-12-20 01:05
666 查看
使用typeahead.js可以实现预先输入,即智能提示,本篇在ASP.NET MVC下实现。实现效果如下:
首先是有关城市的模型。
在HomeController中响应前端请求返回有关City的json数据。
在视图中先加载City集合,再使用预先输入功能。
如何同时支持拼音和汉字的预先输入、智能提示呢?My dear friends, Any idea?
首先是有关城市的模型。
public class City
{
public int Id { get; set; }
public string Name { get; set; }
public string PinYin { get; set; }
}
在HomeController中响应前端请求返回有关City的json数据。
public ActionResult GetCitiesJson()
{
var result = new List<City>()
{
new City(){Id = 1, Name = "青岛",PinYin = "qingdao"},
new City(){Id = 10, Name = "青山",PinYin = "qingshan"},
new City(){Id = 11, Name = "青峰",PinYin = "qingfeng"},
new City(){Id = 2, Name = "武汉",PinYin = "wuhan"},
new City(){Id = 3, Name = "烟台",PinYin = "yantai"},
new City(){Id = 4, Name = "哈尔滨",PinYin = "haerbing"},
new City(){Id = 5, Name = "北京",PinYin = "beijing"},
new City(){Id = 6, Name = "安阳",PinYin = "angyang"},
new City(){Id = 7, Name = "长春",PinYin = "changchun"},
new City(){Id = 8, Name = "东阳",PinYin = "dongyang"},
new City(){Id = 9, Name = "葛洲坝",PinYin = "gezhoubei"}
};
return Json(result,JsonRequestBehavior.AllowGet);
}
在视图中先加载City集合,再使用预先输入功能。
@section styles
{
<link href="~/Content/TypeHead.css" rel="stylesheet" />
}
<div style="margin: 50px;">
<input class="typeahead" type="text" placeholder="输入城市名称">
</div>
@section scripts
{
<script src="~/Scripts/typeahead.bundle.js"></script>
<script type="text/javascript">
$(function () {
$.getJSON('@Url.Action("GetCitiesJson","Home")', function(data) {
if (data) {
$.each(data, function(index, city) {
cities.push(city.Name);
});
}
});
//预先输入功能
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'city',
displayKey: 'value',
source: substringMatcher(cities)
});
});
var cities = [];
//参数arr表示数据源 数组
var substringMatcher = function (arr) {
return function findMatches(q, cb) {
var substrRegex;
var matches = [];
substrRegex = new RegExp(q, 'i');
$.each(arr, function (i, ele) {
if (substrRegex.test(ele)) {
matches.push({ value: ele });
}
});
cb(matches);
};
};
</script>
}
如何同时支持拼音和汉字的预先输入、智能提示呢?My dear friends, Any idea?
相关文章推荐
- 使用FlexBox和Json实现类似ComboBox(类似Google的输入提示和自动)功能-基于JQuery-ASP.NET
- asp.net提示使用的 SQL Server 版本不支持数据类型“date”的解决办法:
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之预告篇
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建项目
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建项目
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之登录窗口
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之数据篇
- Asp.Net后置代码中输入JS提示语句(背景不会变白)
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之数据篇
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建项目
- 在asp.net中如何使用js控制文本框输入
- asp.net中js调用activex的方法提示“该对象不支持此属性或方法”
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之预告篇
- 使用asp.net mvc 的工具提示
- [译]使用asp.net mvc 的工具提示
- 牛腩购物 8 整合用户留言 动软生成器 ,.NET在后置代码中输入JS提示语句(背景不会变白),repeater 循环的时候事件判断,repeater 隔行 奇数行,item列,隐藏区块 Panel 的使用,前台绑定代码的时候使用函数
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之预告篇
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之数据篇
- 【asp.net 】使用js结合hidden控件实现在后台运行一段程序后提示确认,确认通过后继续执行后台代码~~~
- asp.net 文件路径问题,Png图片透明问题,js提示对象不支持属性和方法的解决方案