你的前台展示这块 是 自动匹配功能 ,就是隐藏一个div, 搜索框的keyup事件---向后台请求值(这也就是你说的[先用PHP在后台把数据找好了,然后通过JSON传给JS])--填充隐藏的div---改变div样式,显示出来。而显示的东西是由[先用PHP在后台把数据找好了,然后通过JSON传给JS]决定的,这快肯定是要向数据库查询数据, 这里才属于模糊查询 select 字段1, 字段2, 字段N from table where 查询字段 like '%搜索框的值' or 查询字段 like '搜索框的值%'
然后通过查询数据库,把结果循环显示在div上;最后显示这个div。当然这个文本框需要添加的事件为onkeyup或者onkeydown,用jquery.ajax去实现前后台的交互!
很好很强大!
onkeyup 触发事件,然后ajax传给后台。连接数据库判断
在返回
所有文件我都包含了的,测试的时候都用的静态数组来测试
比如列出测试代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AutoComplete.aspx.cs" Inherits="AutoComplete" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.autocomplete.js" type="text/javascript"></script>
<link href="jquery.autocomplete.css" type="text/css" />
<script language="javascript" type="text/javascript">
//直接由数组获得
$(document).ready((function () {
var data = ["河北省", "河南省", "山东", "北京", "天津"];
$("#txtProvince").autocomplete(data);
}
));
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
省份:<input id="txtProvince" type="text" />
</div>
</form>
</body>
</html>
// 比较完后 填充到自己要显示的数组里 再对数组进行绘制显示其它匹配更加较模糊的 就只能自己写了
所有文件我都包含了的,测试的时候都用的静态数组来测试
比如列出测试代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AutoComplete.aspx.cs" Inherits="AutoComplete" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.autocomplete.js" type="text/javascript"></script>
<link href="jquery.autocomplete.css" type="text/css" />
<script language="javascript" type="text/javascript">
//直接由数组获得
$(document).ready((function () {
var data = ["河北省", "河南省", "山东", "北京", "天津"];
$("#txtProvince").autocomplete(data);
}
));
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
省份:<input id="txtProvince" type="text" />
</div>
</form>
</body>
</html>
用你的代码确认是可以的,是不是你的引用路径错了?
<script src="../../Scripts/jquery.autocomplete.js" type="text/javascript"></script>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Main.aspx.cs" Inherits="WebApplication2.Main" %><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.autocomplete.js" type="text/javascript"></script>
<link href="jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">
//直接由数组获得
$(document).ready((function () {
var data = ["河北省", "河南省", "山东", "北京", "天津"];
$("#txtProvince").autocomplete(data);
}
));
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
省份:<input id="txtProvince" type="text" />
</div>
</form>
</body>
</html>我用你的代码是可以的,注意引用那个CSS
<link href="jquery.autocomplete.css" rel="stylesheet" type="text/css" />
你要注意下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Main.aspx.cs" Inherits="WebApplication2.Main" %><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.autocomplete.js" type="text/javascript"></script>
<link href="jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">
//直接由数组获得
$(document).ready((function () {
var data = ["河北省", "河南省", "山东", "北京", "天津"];
$("#txtProvince").autocomplete(data);
}
));
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
省份:<input id="txtProvince" type="text" />
</div>
</form>
</body>
</html>我用你的代码是可以的,注意引用那个CSS
<link href="jquery.autocomplete.css" rel="stylesheet" type="text/css" />
你要注意下
替换CSS的调用方式还是一样啊。
确实像是CSS没有起作用,但是替换文件,包含方式都不行
select 字段1, 字段2, 字段N from table
where 查询字段 like '%搜索框的值'
or 查询字段 like '搜索框的值%'
麻烦发我一份,[email protected]