前台 页面中需要导入 一下文件。
<script src="../js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="../text/jquery.autocomplete.js" type="text/javascript"></script><link href="../text/jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
//② ajax获取后台数据
$.ajax({
contentType: "application/json",
url: "../tools/autocomplete.ashx?z=Math.random()",
dataType: "json",
async: false,
success: function (msg) {
$("#serverdw").autocomplete(msg, {
minChars: 2,
width: 310,
matchContains: true,
autoFill: false,
formatItem: function (row, i, max) {
return i + row;
},
formatResult: function (row) {
return row;
}
});
}
});
});
</script>
注意:jquery版本 为 1.4.2 版本太高不兼容 (目前测试)
后台读取数据 代码如下
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
string PopeID = Utils.GetPopeIDByMoudle("业务列表");//context.Session["U1"].ToString()
string AllDept = Utils.GetAllDept(Utils.GetUserIDByUserLoginName("lu"), PopeID);
string TempSql = Utils.GetUserIDByUserLoginName("lu");
System.Data.SqlClient.SqlParameter[] para = {
SqlHelper.MakeInParam("@UserId",SqlDbType.Int,0,Convert.ToInt32(TempSql)),
SqlHelper.MakeInParam("@Ssbs",SqlDbType.VarChar,0,AllDept),
SqlHelper.MakeInParam("@Qymc",SqlDbType.VarChar,50,"万豪")
};
ds = SqlHelper.ExecuteDataset(SqlHelper.ConnectionString, CommandType.StoredProcedure, "P_New_gyMainAuto", para);
dt = ds.Tables[0];
//List<Qyjbxx> list = new List<Qyjbxx>();
string[] ar = new string[dt.Rows.Count];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
ar[i] = ds.Tables[0].Rows[i]["qymc"].ToString();
}
context.Response.Write(jss.Serialize(ar));
}
以上 经过测试 供学习参考
有例子