2016-10-18 48 views
1

我使用自動完成功能的自動suggetion,我使用其餘的api網址作爲數據源,但它是建議所有標籤,例如,如果我輸入I因此它應該只顯示其中包含I,但它顯示了所有的標籤,甚至當我鍵入它在這裏顯示了所有標籤的任何關鍵字標籤是我輸入的文本自動完成從休息api

<input type="text" id="name" /> 
<input type="text" id="value" /> 

這裏是我的Java腳本和jQuery

$(function(){ 
$("#name").autocomplete({ 
source:"http://localhost:8080/JsonRestfull/countries", 
dataType: "json", 
select: function (event, ui) { 
$("#name").val(ui.item.label); 
$("#value").val(ui.item.value); 
return false; 
} 
}); 
}); 

http://localhost:8080/JsonRestfull/countries包含以下數據

[{"label":"IND","value":"India"},{"label":"CHN","value":"China"},{"label":"NEP","value":"Nepal"},{"label":"BHU","value":"Bhutan"}] 
+0

的來源,而不是通過'http://本地主機:8080/JsonRestfull當我把所有的值直接那麼它工作正常,但我想利用這個休息網址 –

回答

0

我想你需要的東西是這樣的:

$(function(){ 
$.getJSON("http://localhost:8080/JsonRestfull/countries", function(data) { 
    $("#name").autocomplete({ 
    source: data  
     }); 
    }); 
}); 

我希望,這將有助於。

+0

我只是複製您的代碼/ countries'並粘貼它代替我的代碼,但它沒有產生任何自動學習,我很新的jquery請幫助 –

+0

我有更新回答@AmitSinghBhardwaj你可以檢查和確認一次嗎? – gschambial

+0

現在它顯示suggetion框,但是當我鍵入** I **時,它顯示的是所有標籤,而不是IND,這是我從我的代碼中獲得的,也是當我單擊任何暗示它正在同一個文本框中顯示值時 –

0

您需要使用ajax調用。

$(function(){ 
    $("#name").autocomplete({ 
     source :function(request, response) { 
     $.ajax({ 
      url: "http://localhost:8080/JsonRestfull/countries", 
      dataType: "json", 
      data: { 
       q: request.term 
      }, 
      success: function(data) { 
       response($.map(data, function(item) { 
        return { 
         label : item.label, 
         value : item.value 
        }; 
       })); 
      } 
     }); 
     }, 
     select: function (event, ui) { 
      $("#name").val(ui.item.label); 
      $("#value").val(ui.item.value); 
      return false; 
     } 
    }); 
}); 
+0

雅我做了同樣的,但它產生相同的結果我從我的代碼意味着什麼時,我鍵入我而不是IND它建議所有四個標籤 –

+0

@亞歷山德魯米海我錯誤地編輯了你的答案。你能恢復它嗎? – gschambial

+0

@gschambial,我沒有看到你改變了什麼。 –