2010-07-18 2 views
0

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

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

$("#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

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

+0

Он действительно касался этого, он снова стрелял, когда я что-то выбрал. Он срабатывает, потому что значение изменилось, хотя оно изменилось, потому что я выбрал что-то. – Jhorra

Смежные вопросы