我正在尝试实现jquery自动完成插件。 我已经把它运行起来,但有些东西不能正常工作。
基本上我有一个自动填充列表的员工。 该列表是使用VB.NET处理程序(.ashx文件)从sql-database(employee_names和employee_ID)中的表生成的。数据格式为:employee_name-employee_ID。到目前为止,所有员工都在自动填充中列出。
问题在于,当他们从自动填充中选择一名员工时,我不知道如何将用户重定向到某个页面(例如employee_profile.aspx)。
这是我的重定向代码,但它不能正常工作:
$('#fname2').result(function(event, data, formatted) {
location.href = "employee_profile.aspx?id=" + data
});
例如;用户选择 它会将用户重定向到 employee_profile.aspx?id =员工的员工ID名称(例如:employee_profile.aspx?id = John Doe-91210)而不是employee_profile.aspx?id = 91210
我知道我可以用:
删除employee_IDformatResult: function(data, value) {
return value.split("-")[1];
}
});
但我不知道如何将该employee_ID传递给redirect-page ..
这是我的整个代码:
$().ready(function() {
$("#fname2").autocomplete("AutocompleteData.ashx", {
minChars: 3,
selectFirst: false,
formatItem: function(data, i, n, value) {
return value.split("-")[0];
},
//Not used, just for splitting employee_ID
//formatResult: function(data, value) {
// return value.split("-")[1];
//}
});
$('#fname2').result(function(event, data, formatted) {
location.href = "employee_profile.aspx?id=" + data
});
});
我知道我非常亲密,应该是非常简单的事情,但任何人都可以帮助我吗?
修改
这为我解决了:formatted.split而不是data.split。 代码:
$('#fname3').result(function(event, data, formatted) {
var employeeId = formatted.split("-")[1];
location.href = "employee_profile.aspx?id=" + employeeId
});
答案 0 :(得分:5)
你是说它成功地重定向而不是去......
employee_profile.aspx?ID = 91210
它会......
employee_profile.aspx?id = John Doe-91210 ??
如果是这种情况......那么您只需在结果函数中执行条带化...
$('#fname2').result(function(event, data, formatted) {
var employeeId = data.split("-")[1];
location.href = "employee_profile.aspx?id=" + employeeId
});
答案 1 :(得分:0)
我认为location.href
应为window.location