0

我从 jquery ui 实现了自动完成功能,它可以工作。唯一的问题是我必须按下向下箭头才能看到命题,我希望它能够自动完成。这可能吗 ?

到目前为止我的自动完成代码

function autoCompletion() {
        var splitUrl = document.URL.split('recherche');
        $.ajax({
            type: "POST",
            url: splitUrl[0] + "recherche/autocomplete",
            data: "auto="+$("#ville").val()
                  +"&academie_id="+$("#academie_id").val(),
            success: function(retour){
                var tags = retour.split(',');
            $("#ville").autocomplete({
                source: function( request, response ) {
                var matcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( request.term ), "i" );
                response( $.grep( tags, function( item ){
                    return matcher.test( item );
                }) );
            },
            minLength: 1
            });
            }
        });
    }
4

2 回答 2

0

如果您有文本输入并执行以下操作:

$("#input_id").autocomplete({source: "search.php", minLength: 2, select: function(event,  ui){
    //do something here if needed after a element is select from the list. 
});

它应该可以工作,你只需要search.php返回信息。

于 2012-11-23T16:50:53.940 回答
0

自动完成初始化的顺序应该是相反的。自动完成组件的初始化应该只发生一次,当页面加载时,查询应该自动执行。见附代码:

  $( "#ville" ).autocomplete({
        source: function( request, response ) {
           // Put your ajax request here
           // Put your ajax request here
           $.ajax({
               type: "POST",
               url: splitUrl[0] + "recherche/autocomplete",
               data: "auto="+$("#ville").val()
                     +"&academie_id="+$("#academie_id").val(),
               success: function(your_data){
                   // Call jquery callback
                   response( your_transformed_data );
               }
           });    
        }
  });
于 2012-11-24T02:40:00.837 回答