首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >导航json文件以创建jquery自动完成所需的数组

导航json文件以创建jquery自动完成所需的数组
EN

Stack Overflow用户
提问于 2019-08-07 12:50:45
回答 1查看 58关注 0票数 0

我正在为一个搜索栏,在挪威的地名功能自动完成功能。

我从第三方提供的REST api URL收集数据。带有输入"st“和两个结果的示例:

{
   "sokStatus":{
      "ok":"true",
      "melding":""
   },
   "totaltAntallTreff":"81280",
   "stedsnavn":[
      {
         "ssrId":"23149",
         "navnetype":"By",
         "kommunenavn":"Larvik",
         "fylkesnavn":"Vestfold",
         "stedsnavn":"Stavern",
         "aust":"214841.84",
         "nord":"6550500.29",
         "skrivemaatestatus":"Godkjent",
         "spraak":"NO",
         "skrivemaatenavn":"Stavern",
         "epsgKode":"25833"
      },
      {
         "ssrId":"506202",
         "navnetype":"By",
         "kommunenavn":"Stord",
         "fylkesnavn":"Hordaland",
         "stedsnavn":"Stord",
         "aust":"-32194.93",
         "nord":"6665261.05",
         "skrivemaatestatus":"Godkjent",
         "spraak":"NO",
         "skrivemaatenavn":"Stord",
         "epsgKode":"25833"
      }
   ]
}

我希望自动完成数组包含json文件中所有返回结果中的"stedsnavn“特性。因此,对于上面的示例,它将是Stavern,Stord。

我的代码是基于我在网上找到的模板/教程构建的。当我现在运行它时,自动完成建议是"totaltAntallTreff“功能,所以对于上面的json,它建议是81280。

编辑:我真正需要知道的是如何正确地查询json,而我现在只有响应(数据)。我尝试了几种方法($.map、$.each),但每当我修改代码时,它都不会给出自动补全建议。

请参阅下面的代码

$(function () {
    var getData = function (request, response) {
        $.getJSON(
            "https://ws.geonorge.no/SKWS3Index/ssr/json/sok?antPerSide=5&eksakteForst=false&navn=" + request.term + "*",
            function (data) {
                (response(data));
            });
    };
 
    var selectItem = function (event, ui) {
        $("#myText").val(ui.item.value);
        return false;
    }
 
    $("#myText").autocomplete({
        source: getData,
        select: selectItem,
        minLength: 1,
        change: function() {
            $("#myText").val("").css("display", 2);
        }
    });
});
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery.ui.autocomplete.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>

<div id="menu-container">
    <input type="text" id="myText" />
</div>

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57387143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档