2013-10-21 117 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