如何jquery自动完成json结果?

时间:2016-03-22 00:26:17

标签: jquery json jquery-ui autocomplete jquery-ui-autocomplete

我对代码anexed有两个问题:

第一个是,json中的搜索结果仅在我删除文本输入时出现,而不是我输入...就像我需要的那样。第二个是,当我点击其中一个结果显示它时,我需要将文本转到输入文本的值。

我怎么能这样做?

带有the code

pastebin:

带有json example

pastebin:

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

根据自动完成docs,它不适用于json数据,仅适用于数组。

尝试这样的想法,应该有效。

var arr = ['project1', 'another project', 'more one project'];

     $("#project").autocomplete({
       minLength: 0,
       source: arr,
       focus: function( event, ui ) {
         $("#project").val( ui.item.label );
         return false;
       }
     });

要在删除字段时隐藏结果,您应该像这样设置minLengh< = 1:

$project.autocomplete({
    minLength: 1,
    source: projects,
    focus: function( event, ui ) {
      $project.val( ui.item.label );
      return false;
    }
  });

如果您想在后端搜索数据,我认为您应该考虑使用选项将数据过滤为查询字符串,请查看此文档部分:

  

String:使用字符串时,Autocomplete插件需要这样做   string指向将返回JSON数据的URL资源。它可以   在同一主机上或在另一主机上(必须提供JSONP)。该   自动填充插件不会过滤结果,而是过滤查询   string添加了一个术语字段,服务器端脚本应该这样   用于过滤结果。例如,如果源选项是   设置为“http://example.com”,用户输入foo,即GET请求   将被http://example.com?term=foo。数据本身可以   格式与上述本地数据相同。