2013-10-21 102 views
1

我正在嘗試使用帶有AJAX支持的DevBridge jQuery Autocomplete PluginDevbridge自動完成,無結果

我已經創建了所有必需的部件,但插件沒有給我任何結果。 控制檯不會給我任何錯誤。

function initializeSubjectAutocomplete() 
{ 
    /* Add field */ 

    realSubjectSelector = $('#containerForm select#subject'); 
    realSubjectSelector.hide(); 
    realSubjectSelector.after('<input type="text" placeholder="Subject" id="subjectAutocomplete" name="subjectAutocomplete">'); 

    /* Autocomplete */ 

    $('#containerForm input#subjectAutocomplete').autocomplete(
     { 
      serviceUrl: 'getAutocompleteThreads', 
      dataType: 'jsonp', 
      minChars: 3, 
      onSelect: function (suggestion){realSubjectSelector.val(suggestion.data);} 
     } 
    ); 
} 

我getAutocompleteThreads的典型結果被格式化這樣的:

{ 
query: "resolvi", 
suggestions: [ 
    { value: "Not resolving Symlinks at all", data: "13102" }, 
    { value: "Resolving inter-library dependencies", data: "12079" }, 
    { value: "Resolving static lib dependency at executable link time", data: "13098" }, 
    { value: "help needed in resolving this pipeline problem", data: "59531" }, 
    { value: "Resolving coincident faces - linear & quadratic quarilaterals", data: "68186" } 
] 
} 

謝謝您的時間,

菲利克斯

回答

0

也許你不給時間DOM來從插入到剛剛執行autocomplete()就可以更新。

嘗試更換你的下面的代碼:

realSubjectSelector.after('<input type="text" placeholder="Subject" id="subjectAutocomplete" name="subjectAutocomplete">'); 

    /* Autocomplete */ 

    $('#containerForm input#subjectAutocomplete').autocomplete(

這一個:

$('<input type="text" placeholder="Subject" id="subjectAutocomplete" name="subjectAutocomplete">').insertAfter(realSubjectSelector).autocomplete(
+0

並沒有改變任何東西!該函數在$(document).ready()中是確定的,所以我認爲DOM已經準備就緒。 但也許我必須精確的說,該網頁正在處理大量的結果,高達100,000。 – user2903807