Перенаправление пользователей на выбор из автозаполнения? - PullRequest
3 голосов
/ 24 марта 2010

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

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

Проблема в том, что я не знаю, как перенаправить пользователя на определенную страницу (например, employee_profile.aspx), когда он выбрал сотрудника из автозаполнения.

Это мой код перенаправления, но он работает не так, как должен:

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

Например; пользователь выбирает Он будет перенаправлять пользователя на employee_profile.aspx? Id = имя-идентификатора сотрудника (например: employee_profile.aspx? Id = Джон Доу-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
            });

    });

Я знаю, что я очень близок, и это должно быть что-то действительно простое, но кто-нибудь может мне помочь?

EDIT

Это решило это для меня: formatted.split вместо data.split. Код:

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

Ответы [ 2 ]

5 голосов
/ 24 марта 2010

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

employee_profile.aspx? ID = 91210

Это собирается ...

employee_profile.aspx? Id = Джон Доу-91210 ??

Если это так ... тогда вы можете просто выполнить чередование внутри своей функции результата ...

$('#fname2').result(function(event, data, formatted) {
        var employeeId = data.split("-")[1];
        location.href = "employee_profile.aspx?id=" + employeeId
 });
0 голосов
/ 24 марта 2010

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

...