jQuery自动完成json文件

时间:2014-07-21 12:29:32

标签: javascript jquery json autocomplete

大家好我有一个问题我想在jQuery中自动完成,我在同一个文件夹中有一个json文件,这里是代码

var auto = $(function() {
    $("#recherche").autocomplete({
        source: "code.json",
        minLength: 1,
    })
});

以下是json文件的示例:

{
    "__type": "Featsee",
    "feat": [
        {
            "id": {
                "ID_THING": 1111
            },
            "properties": {
                "CODTHING": "405136",
                "TIONNEMENT": "VRAC"
            }
        }
    ]
}

html代码如下:

    <label for="tags" >Recherche lot : <input id="recherche" type="text"        class="searchable" placeholder="rechercher ici"/></label>

该插件如下:

      <script src="libs/jquery/js/jquery-2.1.1.min.js"></script>
      <script src="libs/jquery/js/jquery-ui.js"></script>

json文件是正确的,但是我希望自动完成对于CODTHING是jus你知道我该怎么办?

和CODTHING是希望它成为自动完成的代码

1 个答案:

答案 0 :(得分:1)

您为jQuery UI提供的自动完成的JSON需要是具有labelvalue属性或字符串数​​组的对象数组。

http://api.jqueryui.com/autocomplete/#option-source

由于你给我们的JSON的简洁,我只能猜到答案的其余部分。

如果lots.json只是一个普通的JS文件,你可以查看JSON数据中的`feat'数组并根据它返回字符串。

(function($){

  var lots = $.get('lots.json');

  lots.done(function (results) {

    var data = $.map(results.feat, function (lot) {
      return lot.properties.CODTHING;
    });

    $("#recherche").autocomplete({
      source: data
    });

  });

}(jQuery));

如果lots.json实际上是一个服务器端文件,您可以将某些数据提供给并过滤它,那么您可以使用此答案中记录的函数:

JQuery autocomplete source from another js function