我正在尝试实现 jquery 自动完成插件。 我已经启动并运行了它,但有些东西无法正常工作。
基本上我有一个自动完成的员工列表。 该列表是使用 VB.NET 处理程序(.ashx 文件)从 sql 数据库中的表(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_ID:
formatResult: function(data, value) {
return value.split("-")[1];
}
});
但我不知道如何将该employee_ID传递到重定向页面..
这是我的整个代码:
$().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
});
最佳答案
您是说它已成功重定向,但不是...
employee_profile.aspx?id=91210
这将会...
employee_profile.aspx?id=John Doe-91210 ??
如果是这种情况...那么您可以简单地在结果函数中执行 strip 化...
$('#fname2').result(function(event, data, formatted) {
var employeeId = data.split("-")[1];
location.href = "employee_profile.aspx?id=" + employeeId
});
关于jquery - 从自动完成中选择时重定向用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503793/