Javascript 除非输入的文本在第一个结果中,否则不会填充jquery自动完成

Javascript 除非输入的文本在第一个结果中,否则不会填充jquery自动完成,javascript,ajax,jquery-plugins,autocomplete,Javascript,Ajax,Jquery Plugins,Autocomplete,我对jquery自动完成插件有问题。我使用的文本框不会填充自动完成的结果,直到我在数据的第一个条目中输入一个值。在它填充之后,自动完成就按照它应该的方式工作了 $(document).ready(function () { }); function textChange() { var callback = function (request, response) { var searchText = request.item; var searchField = $(".

我对jquery自动完成插件有问题。我使用的文本框不会填充自动完成的结果,直到我在数据的第一个条目中输入一个值。在它填充之后,自动完成就按照它应该的方式工作了

$(document).ready(function () {

});

function textChange() {

var callback = function (request, response) {
    var searchText = request.item;
    var searchField = $(".ddlist > option:selected").attr("value");
    $.ajax({
        type: "GET",
        dataType: "text",
        url: "SearchCallback.aspx?searchText=" + searchText + "&searchField=" + searchField,
        success: function (data) {
            var splitData = data.split(",");
            response(splitData);
        }
    });
}
$(".searchTextBox").autocomplete({
    source: callback,
    autoFill: true
})    
}
在使用它之后,在我在文本框中使用onkeyup事件之前,我得到了以下代码,但我想我不需要它。我不知道这是否有效,但它现在工作正常

$(document).ready(function () {
$(".searchTextBox").autocomplete({
    source: callback,
    autoFill: true
});
});

var callback = function (request, response) {
var searchText = request.term;
var searchField = $(".ddlist > option:selected").attr("value");
$.ajax({
    type: "GET",
    dataType: "text",
    url: "SearchCallback.aspx?searchText=" + searchText + "&searchField=" + searchField,
    success: function (data) {
        var splitData = data.split(",");
        response(splitData);
    }
});
}

当您初始化自动完成时,必须使用回调作为源选项。在您的示例中,每次按下一个键时,您都会初始化自动完成:

var callback = function(request, response) {
    var searchText = request.item;
    // Set searchField somehow here
    $.ajax({  
         type: "GET",  
         dataType: "text",  
         url: "SearchCallback.aspx?searchText=" + searchText + "&searchField=" + searchField,
         success: function (data)
        {
            var splitData =  data.split(",");
            response(splitData);
        });      
    });
};

$( ".searchTextBox" ).autocomplete({
    source: callback,
    autoFill: true
});

在中有更多的示例和更详细的描述。

我想我在语法方面有一些问题。而且,在调试过程中,我注意到,直到第二次按键后,我才进入成功呼叫。