开发者

Redirecting users on select from autocomplete?

i'm trying to implement the jquery autocomplete plugin. I've got it up and running, but something is not working properly.

Basically i have a autocomplete-list of employees. The list is generated from a table in a sql-database (employee_names and employee_ID), using a VB.NET handler (.ashx file). The data is formatted as: employee_name-employee_ID. So far so good and all employees are listed in autocomplete.

The problem is开发者_运维知识库 that i don't know how to redirect a user to a certain page (for example employee_profile.aspx) when they've selected an employee from autocomplete.

This is my redirect-code, but it ain't working like it should:

$('#fname2').result(function(event, data, formatted) {
        location.href = "employee_profile.aspx?id=" + data
});

For example; a user selects It will redirect a user to employee_profile.aspx?id=name of employee-id of employee (for example: employee_profile.aspx?id=John Doe-91210) instead of employee_profile.aspx?id=91210.

I know i can strip the employee_ID with:

formatResult: function(data, value) {
   return value.split("-")[1];
   }   
});

But i do not know how to pass that employee_ID to the redirect-page..

Here my whole code:

$().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
            });

    });

I know i'm very close and it should be something really simple, but can anyone help me out?

EDIT

This solved it for me: formatted.split instead of data.split. Code:

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


Are you saying that it is successfully redirecting but rather than going to...

employee_profile.aspx?id=91210

It is going to...

employee_profile.aspx?id=John Doe-91210 ??

If that is the case... then you can simply perform your striping inside your result function...

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


I think location.href should be window.location

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜