Автозаполнение JQuery запускается несколько раз - PullRequest
0 голосов
/ 18 июля 2010

Итак, у меня есть автозаполнение jquery на тестовой коробке, которая ищет пользователя в базе данных и помещает идентификатор в скрытое поле ввода.По какой-то причине автозаполнение срабатывает, когда они набирают что-то, а затем снова, когда элемент выбран, изменяя текст.Так как я ищу имя и фамилию, он не находит совпадений во второй раз и очищает мое поле.

У меня он работает на отдельной странице, но он ищет только одно поле, поэтому, когда он возвращает значение, он остается.Однако при этом выполняется поиск в двух полях, поэтому при повторном поиске ничего не возвращается.Я полагаю, что проблема заключается в этом, но я не знаю, как ее исправить.

    $("#FormSubscriberName").autocomplete('/subscriber/search', {
    autoFill: false,
    mustMatch: true,
    matchContains: true,
    cacheLength: 12,
    formatItem: function (data, index, max) {
        return data[1];
    },
    formatMatch: function (data, index, max) {
        return data[1];
    },
    formatResult: function (data, index, max) {
        return data[1];
    }
}).result(function (event, data, formatted) {
    if (data) {
        $("#SubscriberID").val(data[0]);
        $("#FormSubscriberName").val(data[1]);
    }
    else {
        $("#SubscriberID").val('<%= Guid.Empty %>');
    }
});


<input id="FormSubscriberName" name="FormSubscriberName" style="width:250px;" type="text" value="" /> 
<input id="SubscriberID" name="SubscriberID" type="hidden" value="" />

1 Ответ

1 голос
/ 24 июля 2010

Недавно я также столкнулся с некоторым странным поведением при автозаполнении.Моя проблема была решена, когда я удалил «mustMatch», который исчез из автозаполнения пользовательского интерфейса jQuery.Удаление этой опции может стоить попробовать.

...