Jquery自动完成动态文本框问题

时间:2012-05-21 12:08:39

标签: jquery dynamic autocomplete textbox

$('.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次(在控制台中)。而且,当我点击其他标签或文本框时,数据库会连续点击.. 我怎样才能解决这个问题..我的代码中是否有任何错误

1 个答案:

答案 0 :(得分:1)

你的答案被注释掉了......

使用延迟的组合 - 它在MS中,因此1000 = 1秒。

AND使用minchar ...所以它只会在输入2或3个字符时进行搜索。