我是jQuery和堆棧溢出的新手。我正在做我的學校項目,並實施了基本的自動完成搜索,以處理我的小組的ASP.NET Web應用程序。我遵循這個指南:http://www.magic-dev.com/autocomplete-textbox-aspnet-database.htm。格式和重定向用戶(w/jQuery UI自動完成)
我可以搜索名稱(取自數據庫),但我想要做的是允許用戶從結果中選擇名稱(單擊名稱),並將它們重定向到配置文件頁面(例如profile.aspx?id = 25)。
我在Stack Overflow上搜索過並且遇到了Redirecting users on select from autocomplete?。試圖執行這個問題的代碼,但無濟於事。
目前結果的搜索框是這樣的(格式[用戶ID] - [名]):
25-Dennis Ferrell
我不希望顯示在結果的ID,但只顯示名字。該ID已添加到它中,因爲我想使用ID爲profile.aspx?id = 25。
** EDIT 1 **
我讀formatItem
和formatResult
都由jQuery用戶界面(http://www.learningjquery.com/2010/06/autocomplete-migration-guide)折舊。所以現在,我得到的代碼重定向用戶點擊,但格式仍然是25-Dennis Ferrell
。
這裏是我更新的代碼:
$('#<%= searchMenu.ClientID %>').autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "PredictiveSearch.asmx/GetAllNames",
data: "{'nameKeyword':'" + request.term + "'}",
dataType: "json",
async: true,
success: function (data) {
response(data.d);
}
});
},
select: function (event, data) {
window.location = "profile.aspx?id=" + data.item.value.split("-")[0];
}
});
誰能幫助我的格式?只是想從25-Dennis Ferrell
中刪除25-
,並使用25
通過ID重定向用戶。
** EDIT 2 **
我試着這樣做:
success: function (data) {
response($.map(data.d, function (item) {
return item.split("-")[1];
}));
}
結果將是Dennis Ferrell
,但25
不能傳遞到select:
功能(這是需要用於重定向用戶)。
什麼是不工作的到底是什麼?我相當肯定你的'split'代碼是正確的,如果'ui.item.value'是你的方式。 – 2012-02-03 15:15:51
@AndrewWhitaker我已經更新了這個問題(參見**編輯2 **)。 – yanyi 2012-02-03 16:22:43
歡迎來到Stack Overflow!很高興看到你最終在這裏發佈:)與其向您的標題添加「已解決」,您可以通過單擊左側的空白複選標記標記您在某段時間之後接受的答案 - 這就是我們在此處表明已解決的問題的方式。 – BoltClock 2012-02-04 05:06:33