jquery autocomplete json values
jquery autocomplete json values
我正在使用带有json请求的jquery自动完成功能。
我的自动完成代码是:
$("#company_name").autocomplete({
source: function( request, response ) {
$.ajax({
url: "https://url/Address.ashx?site=handelsregister",
dataType: "jsonp",
data: {q: request.term},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.handelsnaam,
id: item.dossiernummer,
street: item.straat
};
}));
}
});
},
minLength: 2,
select: function(event, ui) {
$('#company_name').val(ui.item.label);
$('#street').val(ui.item.street);
}
});
共振看起来像这样:
{"resultatenHR":[{"handelsnaam": "Jan Tiebie B.V.", "dossiernummer": "35016711", "subdossiernummer": "0000", "vestigingsnummer": "000000408700", "straat": "Middelweg", "huisnummer": "65", "huisnummertoevoeging": "", "postcode": "1911EB", "plaats": "Uitgeest"},{"handelsnaam": "Jan de Wolf Beheer B.V.", "dossiernummer": "36018787", "subdossiernummer": "0000", "vestigingsnummer": "000020159137", "straat": "Peperstraat", "huisnummer": "17", "huisnummertoevoeging": "", "postcode": "1441BH", "plaats": "Purmerend"},{"handelsnaam": "Holding Jan Greijmans B.V.", "dossiernummer": "13014184", "subdossiernummer": "0000", "vestigingsnummer": "000010702075", "straat": "Kevelaerstraat", "huisnummer": "3", "huisnummertoevoeging": "", "postcode": "6002BL", "plaats": "Weert"},{"handelsnaam": "Holding Jan Prins B.V.", "dossiernummer": "34001716", "subdossiernummer": "0000", "vestigingsnummer": "000018682057", "straat": "Middenhavenstraat", "huisnummer": "72", "huisnummertoevoeging": "", "postcode": "1976CM", "plaats": "IJmuiden"},{"handelsnaam": "Jans Boven-Leeuwen B.V.", "dossiernummer": "52473201", "subdossiernummer": "0000", "vestigingsnummer": "000022396934", "straat": "Zwaanheuvelstraat", "huisnummer": "8", "huisnummertoevoeging": "", "postcode": "6657KJ", "plaats": "Boven-Leeuwen"},{"handelsnaam": "Jan Drost Holding B.V.", "dossiernummer": "56557876", "subdossiernummer": "0000", "vestigingsnummer": "000026099330", "straat": "Patrimoniumlaan", "huisnummer": "63", "huisnummertoevoeging": "", "postcode": "3904AB", "plaats": "Veenendaal"},{"handelsnaam": "Jan Bone Beheer B.V.", "dossiernummer": "09168070", "subdossiernummer": "0000", "vestigingsnummer": "000020131275", "straat": "C.A. Thiemestraat", "huisnummer": "60", "huisnummertoevoeging": "", "postcode": "6828DX", "plaats": "Arnhem"},{"handelsnaam": "Jan Berkers Beheer B.V.", "dossiernummer": "17150615", "subdossiernummer": "0000", "vestigingsnummer": "000005415055", "straat": "Griendtsveenseweg", "huisnummer": "26", "huisnummertoevoeging": "", "postcode": "5754AB", "plaats": "Deurne"},{"handelsnaam": "Jan Boudesteijn Holding B.V.", "dossiernummer": "34060251", "subdossiernummer": "0000", "vestigingsnummer": "000019124791", "straat": "Flevoland", "huisnummer": "1", "huisnummertoevoeging": "", "postcode": "1948RH", "plaats": "Beverwijk"},{"handelsnaam": "Jan van IJken Oude Bouwmaterialen B.V.", "dossiernummer": "32071283", "subdossiernummer": "0000", "vestigingsnummer": "000018555772", "straat": "Rozenbottelberg", "huisnummer": "1", "huisnummertoevoeging": "", "postcode": "3755BR", "plaats": "Eemnes"}]}
当我使用自动完成功能时,下拉列表显示但为空。
知道如何解决这个问题吗?
数组周围的{"resultatenHR":
包装器给您带来了问题。 您的$.map
调用需要在此上下文中是一个数组,而不是一个对象。
您需要从data
中提取数组以传递给$.map()
。 那看起来像这样:
success: function(data) {
response($.map(data.resultatenHR, function(item) {
return {
label: item.handelsnaam,
id: item.dossiernummer,
street: item.straat
};
}));
}
});
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- jquery autocomplete json values
- json and null values
- Remove the json values
- Missing JSON values with JavaScript
- Angular getting Json Values
- Html encode json values
- JavaScript json values