从自动完成选择重定向用户?

jun*_*o-2 3 jquery autocomplete jquery-autocomplete

我正在尝试实现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
});
Run Code Online (Sandbox Code Playgroud)

例如; 用户选择它会将用户重定向到employee_profile.aspx?id = employee的employee-id名称(例如:employee_profile.aspx?id = John Doe-91210)而不是employee_profile.aspx?id = 91210.

我知道我可以剥离employee_ID:

formatResult: function(data, value) {
   return value.split("-")[1];
   }   
});
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将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
            });

    });
Run Code Online (Sandbox Code Playgroud)

我知道我很亲密,它应该是非常简单的东西,但任何人都可以帮助我吗?

编辑

这为我解决了:formatted.split而不是data.split.码:

$('#fname3').result(function(event, data, formatted) {
            var employeeId = formatted.split("-")[1];
            location.href = "employee_profile.aspx?id=" + employeeId
});
Run Code Online (Sandbox Code Playgroud)

Chr*_*ner 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
 });
Run Code Online (Sandbox Code Playgroud)