2012-05-21 3 views
2
$('.txtAlignLeft').live('focus.autocomplete', function(){ 
var $textBox = $(this); 
var curId = $textBox.attr("id"); 
var vtxtmtlCode = $('#txtmtlCode').val(); 
pmidvalue = (curId).replace(/(^.+\D)(\d+)($)/i,'$2'); 

$(this).removeData('events').autocomplete(gMasterAjaxPath+"filename.php?vValid=3",{ 
    //delay:10, 
    minChars:1, 
    //cacheLength:20, 
    //mustMatch:true, 
    matchContains: true, 
    mustMatch: false, 
    //selectFirst: false, 
    extraParams: { 
    txtmtlCode: function() {return $('#txtmtlCode').val()}, 
}, 
    formatItem: function(data, i, n, value) { 
     return value.split("#-#")[0] 
    }, 
    formatResult: function(data, value) { 
     return(value.split("#-#")[0]); 
    } 

}).result(function(event, item, data) { 
    // Result updation 

    });   
}); 

Пока я ввожу один символ в поле ввода, попадание базы данных происходит более 10-20 раз (в консоли). А также, когда я нажимаю другую вкладку или текстового окно базы данных хита contiously собирается .. Как я могу решить эту проблему .. Есть ли ошибка в моем кодеПроблемы с текстовым полем JQuery Autocomplete

+0

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

ответ

1

Вы ответ закомментированы ...

Используйте комбинацию задержки - она ​​находится в MS, поэтому 1000 = 1 секунда.

И использовать minchar ... поэтому он будет искать только, если сказано, что введено 2 или 3 символа.

+0

Brain Спасибо за ваш ответ. Я использовал задержку: 10 и minchars: 1, но также получаю такую ​​же проблему. В то время как я печатаю символ, база данных постоянно идет. Пожалуйста, помогите мне, как я могу решить эту проблему. –

+0

лично я всегда сталкиваюсь с этим ... Обычно я также добавляю некоторую форму задержки в конце скрипта ... но задержка у вас есть 10 = 0,01 задержка использования: 1000 или выше - 1000 - 1 секунда ... секунд! – Brian

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