Перенаправление пользователей на выбор из автозаполнения?

Я пытаюсь реализовать плагин автозаполнения jquery. Он у меня запущен, но что-то не работает.

В основном у меня есть автозаполнение списка сотрудников. Список создается из таблицы в базе данных sql (имена сотрудников и идентификатор сотрудника) с использованием обработчика VB.NET (файл .ashx). Данные имеют следующий формат: имя_ сотрудника-идентификатор_ сотрудника. Пока все хорошо, и все сотрудники указаны в автозаполнении.

Проблема в том, что я не знаю, как перенаправить пользователя на определенную страницу (например, 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];
   }   
});

Но я не знаю, как передать этот идентификатор сотрудника на страницу перенаправления ..

Вот весь мой код:

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

person juno-2    schedule 23.03.2010    source источник


Ответы (2)


Вы хотите сказать, что перенаправление выполняется успешно, но вместо того, чтобы ...

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
 });
person Chris Wagner    schedule 23.03.2010
comment
Да, они перенаправляются, но действительно на employee_profile.aspx? Id = John Doe-91210. Ваше предложение определенно имеет смысл, но оно не работает: они не будут перенаправлены на employee_profile.aspx. Код: $ (). Ready (function () {$ (# fname) .autocomplete (AutocompleteData2.ashx, {minChars: 3, selectFirst: false}); $ ('# fname'). Result (function (event, data , отформатировано) {var employeeId = data.split (-) [1]; window.location.href = employee_profile.aspx? id = + employeeId});}); Но мы приближаемся ... - person juno-2; 24.03.2010
comment
Итак, куда он сейчас перенаправляется? - person Chris Wagner; 24.03.2010
comment
Решено! мне пришлось использовать formatted.split вместо data.split. Спасибо! - person juno-2; 24.03.2010

Я думаю, location.href должно быть window.location

person Amy B    schedule 23.03.2010
comment
Объект окна - это глобальная область видимости, поэтому location ссылается на window.location, если не существует локальной переменной с именем location. - person jholster; 24.03.2010