首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery自动完成json文件键值

jquery自动完成json文件键值
EN

Stack Overflow用户
提问于 2017-08-25 12:45:37
回答 1查看 729关注 0票数 1

我有一个使用JSON源文件的自动完成字段。现在,我想将JSON更改为键值格式。像这样

代码语言:javascript
复制
{"Countries":{"Andorra":"AD","United Arab Emirates":"AE"}}

如何让字段存储"AD“并自动补全"Andorra"?

代码语言:javascript
复制
$(function () {

$.get('../data/data.json', function (data) {

    var country = Object.keys(data['Countries']).map(function (k) {
        return data['Countries'][k]
    });

    $('#country_autocomplete').autocomplete({
        lookup: country,
        onSelect: function (suggestion) {
            console.log('You selected: ' + suggestion.key);
        }
    });
});

});

EN

回答 1

Stack Overflow用户

发布于 2017-08-25 14:32:13

在这里,我已经将JSON响应转换为自动完成所需的响应;

代码语言:javascript
复制
var data = {"Countries":{"Andorra":"AD","United Arab Emirates":"AE" , "India" : "IN" , "Australia" : "AUS"} } ;

var countries = [] ;

var country_full_names = new Array();
country_full_names =   Object.keys(data.Countries);

country_full_names.forEach( function( element  ){
    var obj = {};
    obj.value = element ;
    obj.data = data.Countries[element] ;
    console.log(obj);
    countries.push(obj);
});




$('#country_autocomplete').autocomplete({
  lookup: countries,
 onSelect: function (suggestion) {
       alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
    }
});

在上面的代码片段中,我没有使用AJAX/XHR初始化数据。但是要初始化请求,只需用下面的代码替换第一行

代码语言:javascript
复制
var data = {};
$.get('../data/data.json', function ( response ) {
 data = response ;
 }); 

这是有效的小提琴https://jsfiddle.net/u77va6xt/

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

https://stackoverflow.com/questions/45874583

复制
相关文章

相似问题

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