1
我一直在尋找一個autoparts網站,我在搜索框中需要自動完成功能。jquery自動完成插件在masterpage中不起作用
事情我已經嘗試:
我)我已經嘗試使用服務沒有運氣與阿賈克斯延長工作] II)[我也曾嘗試jQuery UI的內置自動完成插件沒有運氣]
但經過一天的全面鬥爭,我終於把它工作在簡單的aspx頁面上,但是當我使用這個代碼進入masterpage時,它的工作效率很高。
這一部分我需要你的傢伙:)
//code inside the masterpage head
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script src="scripts/jquery.autocomplete.min.js" type="text/javascript"></script>
<link href="css/jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function() {
$("#ctl00_myTextBox").autocomplete('select.ashx');
});
</script>
//注意:這個文本框也是在母版沒有任何contentpage
<asp:TextBox ID="myTextBox" runat="server" Width="250" ></asp:TextBox>
//這是HttpHandler的代碼。 .. //注:我使用LuceneIndexes以檢索數據
公共類選擇:IHttpHandler的 {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/javascript";
if (!String.IsNullOrEmpty(context.Request.QueryString["q"]))
{
foreach (string s in GetAutoCompleteValues(context.Request.QueryString["q"]))
{
context.Response.Write(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(s)+Environment.NewLine);
}
}
}
public static string[] GetAutoCompleteValues(string prefixText)
{
DataTable dt = GetSearchList.GetResult(prefixText);
List<string> RowNames = new List<string>();
foreach (DataRow drow in dt.Rows)
{
RowNames.Add(drow[1].ToString() + " " + drow[2].ToString() + " " + drow[3].ToString() + " " + drow[4].ToString() + " " + drow[5].ToString() + " " + drow[6]);
}
return RowNames.ToArray();
}
public bool IsReusable
{
get
{
return false;
}
}
}
請幫我出任何suggesstions將提前有益的感謝名單...