<script type="text/javascript">
var v = 1;
var stockInfoJson = [
{ "name": "深发展A", "code": "000001", "spell": "sfza", "count":"32435" },
{ "name": "万科A", "code": "000002", "spell": "wka", "count":"231" },
{ "name": "ST 国 农", "code": "000004", "spell": "stgn", "count":"4567" },
{ "name": "世纪星源", "code": "000005", "spell": "sjxy", "count":"2345" },
{ "name": "深振业A", "code": "000006", "spell": "szya", "count":"8799" },
{ "name": "ST 达 声", "code": "000007", "spell": "stds", "count":"12345234" },
{ "name": "ST宝利来", "code": "000008", "spell": "stbll", "count":"56235" },
{ "name": "中国宝安", "code": "000009", "spell": "zgba", "count":"9833" },
{ "name": "S ST华新", "code": "000010", "spell": "ssthx", "count":"24878" },
{ "name": "山航B", "code": "200152", "spell": "shb", "count":"32435" },
{ "name": "*ST帝贤B", "code": "200160", "spell": "stdxb", "count":"32435" },
{ "name": "雷伊B", "code": "200168", "spell": "lyb", "count":"32435" },
{ "name": "宝石B", "code": "200413", "spell": "bsb", "count":"32435" },
{ "name": "小天鹅B", "code": "200418", "spell": "xteb", "count":"32435" },
{ "name": "粤高速B", "code": "200429", "spell": "agsb", "count":"32435" },
{ "name": "宁通信B", "code": "200468", "spell": "ltxb", "count":"32435" },
{ "name": "晨鸣B", "code": "200488", "spell": "cmb", "count":"32435" },
{ "name": "珠江B", "code": "200505", "spell": "zjb", "count":"32435" },
{ "name": "闽灿坤B", "code": "200512", "spell": "mskb", "count":"32435" },
{ "name": "华电国际", "code": "600027", "spell": "hdgj", "count":"32435" }
]; $(function () {
/*
$.ajax({
type: "POST",
contentType: "application/json",
url: "AjaxPage.aspx/GetAllHints",
data: "{}",
dataType: "json",
success: function (msg) {
var datas = eval('(' + msg.d + ')');
$("#keywords").autocomplete(
datas,
{
minChars: 1,
matchCase: false, //不区分大小写
autoFill: false,
max: 10,
formatItem: function (row, i, max) {
return "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left' height='24'><b>" + row.name + "</b></td><td align='right'><font style='color: #009933; font-family: 黑体; font-style: italic'>约" + row.count + "个宝贝</font>&nbsp;&nbsp;</td></tr></table>";
},
formatMatch: function (row, i, max) {
return row.name;
},
formatResult: function (row) {
return row.name;
},
reasultSearch: function (row, v)//本场数据自定义查询语法 注意这是我自己新加的事件
{
//自定义在code或spell中匹配
if (row.data.code.indexOf(v) == 0 || row.data.spell.indexOf(v) == 0 || row.data.name.indexOf(v) == 0) {
return row;
}
else {
return false;
}
}
}).result(function (event, data, formatted) {
var encodeKeyword = encodeURIComponent(encodeURIComponent(data.name));
searchParams = "keyword=" + encodeKeyword;
window.location.href = "http://localhost/products.aspx?" + searchParams;
});
}
});
*/ $("#keywords").autocomplete(
"SearchHanle.ashx",
{
minChars: 1,
matchCase: false, //不区分大小写
autoFill: false,
max: 10,
parse: function (data) {
var d = eval("(" + data + ")"); //此处要用eval函数;
var rows = new Array();
for (var i = 0; i < d.length; i++) {
rows[rows.length] = {
data: d[i],
value: d[i].code,
result: d[i].name
}
}
return rows;
},
formatItem: function (row, i, max) {
return "<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td align='left' height='24'><b>" + row.name + "</b></td><td align='right'><font style='color: #009933; font-family: 黑体; font-style: italic'>约" + row.count + "个宝贝</font>&nbsp;&nbsp;</td></tr></table>";
},
formatMatch: function (row, i, max) {
return row.name;
},
formatResult: function (row) {
return row.name;
},
reasultSearch: function (row, v)//本场数据自定义查询语法 注意这是我自己新加的事件
{
//自定义在code或spell中匹配
if (row.data.code.indexOf(v) == 0 || row.data.spell.indexOf(v) == 0 || row.data.name.indexOf(v) == 0) {
return row;
}
else {
return false;
}
}
}).result(function (event, data, formatted) {
var encodeKeyword = encodeURIComponent(encodeURIComponent(data.name));
searchParams = "keyword=" + encodeKeyword;
window.location.href = "http://localhost/products.aspx?" + searchParams;
});
});
</script>

先记一下,方法二是存在bug的。

jquery.autocomplete.js 两种实现方法的更多相关文章

  1. 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结

    史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...

  2. Js类的静态方法与实例方法区分以及jQuery如何拓展两种方法

    上学时C#老师讲到对象有两类方法,静态方法(Static)和实例方法(非Static),当时不理解静态是为何意,只是强记. 后来从事前端工作,一直在对类(即对象,Js中严格来说没有类的定义,虽众所周知 ...

  3. jQuery插件开发的两种方法及$.fn.extend的详解

    jQuery插件开发分为两种: 1 类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.ex ...

  4. 原生Js 两种方法实现页面关键字高亮显示

    原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换 ...

  5. jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...

  6. jQuery插件开发的两种方法及$.fn.extend的详解(转)

    jQuery插件开发的两种方法及$.fn.extend的详解 jQuery插件开发分为两种:1 类级别.2 对象级别,下面为大家详细介绍下   jQuery插件开发分为两种: 1 类级别 类级别你可以 ...

  7. JS中的两种刷新方法以及区别和适用范围

    在项目中有一个人信息修改的页面,但是修改后显示的却是修改之前的内容,分析问题后发现查询语句写在了修改语句之前,有些某些需要又必须这么写,但是修改信息后先却显示之前的信息也太不科学了. 所以我就想用js ...

  8. JS两种声明函数的方法以及调用顺序

    两种声明方法: 1. var a = function () {...}; 2. function a() {...}; 第一种方式必须先声明后调用,而第二种方式函数调用在声明之前之后都可以. //第 ...

  9. Jquery autocomplete.js输入框联想补全功能

    Jquery autocomplete.js插件下载地址:http://files.cnblogs.com/files/jinzhiming/autocomplete.rar 有两种用法,一种是直接使 ...

随机推荐

  1. 精通CSS :nth-child伪类

    :nth-child 基本用法 :nth-child:nth-child(8) 选中第8个子元素 li:nth-child(8) span { background-color: #298EB2; b ...

  2. silverlinght 项目

    silverlinght项目演示: 打开点击其中一个:

  3. [二分图&最小割]

    OTL@assassain 反转源汇的模型: 给定一个二分图,同时选择集合中的两个点会有一个代价,选择每一个点有一个收益,问最大收益是多少 (即两个点在不同的集合中是有冲突关系的) 解法: 用最小割模 ...

  4. oracle系列--第五篇 PLSQL连接本地的Oracle数据库

    这篇blog主要是针对新手,我也是个新手:) 我们把oracle成功的安装在了我们的计算机上面,那我们如何才能将PLSQL developer连 接到本地的oracle呢? 首先,我们必须有下面步准备 ...

  5. CentOS6.5的openssl升级

    CentOS6.5的openssl升级:(修复心脏漏血漏洞) [root@linux1 ~]# rpm -qi openssl|grep VersionVersion : 1.0.1e Vendor: ...

  6. [转] - 使用Qt作窗口截屏(含源码)

    截屏(screenshot),就是将屏幕上的东西拷贝下来存成图片文件.介绍的好像有点多余:(,那我们就直接切入正题. QPixmap提供了两个函数grabWidget和grabWindow可以将屏幕上 ...

  7. WPF之拖动项滚动条自滚动(当拖动项到达高度的边界时候滚动条自己可以上下滚动)

    参考 http://www.cnblogs.com/ListenFly/p/3281997.html Point svPoint = e.GetPosition(sv); if (sv.ActualH ...

  8. android开发事件监听

    第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适, ...

  9. Css - 文本溢出处理

    http://blog.163.com/yinwei_666/blog/static/2036157320101113102733794/ overflow: hidden;-o-text-overf ...

  10. OS | 读写锁【摘】

    读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排他的,读可以有多个在读,写只有唯一个在写,同时写的时候不允许读. 互斥锁与读写锁的区别: 当访问临界区资源时(访问的含义包括所有的操作:读和写 ...