开发者

Redirecting users on select from autocomplete?

开发者 https://www.devze.com 2022-12-24 02:56 出处:网络
i\'m trying to implement the jquery autocomplete plugin. I\'ve got it up and running, but something is not working properly.

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

精彩评论

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