2017-05-17 137 views
0

我有一個自動完成功能,工作得很好,但現在我正在嘗試做的是調用自動完成功能onfocus,我試過但不工作。JQuery:如何調用焦點上的自動完成功能?

下面是我的代碼:

function myAutoComplete() { 

     var label = "No Results"; 
     var error="Error"; 

     $("#myForm\\:autocomplete").autocomplete({ 
      source: function(request, response) { 
       $.ajax({ 
        url: "#{request.context}/rest/myFunctionPath", 
        dataType: "json", 
        type:'POST', 
        data: { 
         de : request.de, 
         id : id 
        }, 
        success: function(data) { 
         if(data.length==0) 
          response([label]); 
         else 
          response(data); 
        }, 
        error: function(jxhr, textStatus, errorThrown){ 
         var result = [error]; 
         response(result); 
        } 
       }); 
      }, 
      select : function(event, ui) 
      { 
       if (ui.item.label == label || ui.item.label == error) { 
        event.preventDefault(); 
        return false; 
       } else { 

       } 
      }, 
     }).focus(function(){    
      $(this).data("autocomplete").search($(this).val()); 
     }); 
    }; 

我如何可以調用文本框的焦點上面的自動完成功能?

當我在文本框中單擊我得到錯誤

TypeError: $(...).data(...) is undefined 

請指導

+0

使用'onfocus = myAutoComplete()'進行調用。確保首先包含'jquery.js'。 –

回答

0

嘗試調用myAutoComplete()焦點函數內部

使用本

$("#target").focus(function() { 
    myAutoComplete(); 
});