从JSON文件中提取数据到Javascript中,用作web表单输入中的自动完成
Extracting data from JSON file into Javascript for use as autocomplete in a web form input
我不经常使用Javascript,因此我的知识非常非常有限。
我有一个JSON文件(airports. JSON),其中列出了机场的iata代码,名称,城市和国家:
[
{
"iata": "CPT",
"name": "Cape Town International Airport",
"city": "Cape Town",
"country": "South Africa"
},
{
"iata": "JNB",
"name": "OR Tambo International Airport",
"city": "Johannesburg",
"country": "South Africa"
},
{
"iata": "DUR",
"name": "King Shaka International Airport",
"city": "Durban",
"country": "South Africa"
},
]
我想使用该信息在Javascript文件(method.js)中提取它,该文件接受信息并解析它以返回给用户。当用户开始输入IATA代码、城市或国家时,脚本文件必须搜索不同的变量("IATA"、"名称"、"城市"、"国家"),并在自动完成下拉框中编译结果,如下所示:
开普敦,开普敦国际机场(CPT),南非
或者在编码术语中(类似于这样):
city + ', ' + name + '(' + iata + '), ' + country,
但是当用户点击结果[onSelect]时,输入字段必须只有以下内容:
开普敦(CPT)
或者,在编码术语中(类似于这样):
city + '(' + iata + ')'
我如何从。json文件到。js文件的信息,并使用它来自定义构建我自己的结果?
第一部分将使用ajax获取数据。因为它是一个静态数据文件加载它一次,然后在ajax回调初始化autocomplete
和传递数据数组的插件。
$.getJSON('yourdata.json', function(response){
var mappedData = $.map(response , function(){ /* up to you to map it*/ })
$('.airportFrom input').autocomplete({
lookup: mappedData ,
.......
});
// other autocomplete
});
由于您正在使用JQuery,您可以使用$。getJSON方法从机场检索json数据。json文件。
$.getJson():看看它是如何工作的
记住将自动完成代码放在success函数中,这样代码才会在ajax调用完成后运行。比如:
$.getJSON("/airports.json")
.success(function( data ) {
var airportArray = data; // here you get your airport.json data and assing it to your array variable. The data will already be in json format
// HERE YOU PUT YOUR AUTOCOMPLETE CODE SO YOU CAN USE THE DATA RETRIVIED
})
.error(function(){
// here you handle the error with the ajax call (doc does not exist, the server does not respond...
});
相关文章:
- Nodejs服务器在解析之前生成输入表单
- 如何创建打开警报框的输入表单
- JavaScript onChange 事件侦听器对输入表单不起作用
- 如何在 OnKeyPress 事件后获取输入表单元素的值
- 单输入表单 - 特殊情况 |停止表单提交
- 需要输入表单验证
- 如何在谷歌图表中使用输入表单值
- 使用jquery可交换地更改两个html输入表单值
- 当从jqueryajax调用输入表单时,它不起作用
- 控制器作为搜索输入表单的语法
- 删除带有按钮的输入表单失败
- 验证带有2个小数点的浮点形式的输入表单
- AngularJS:输入表单在分部中不起作用
- 如何从php中的输入表单调用Javascript函数,以更改HTML
- 输入表单中的Sharepoint javascript
- 当点击输入表单时,为Raphael制作的对象添加光晕
- 当用户将数据输入表单时要知道的事件
- 保存输入表单后ImageMap颜色更改
- 链接输入表单中的填充脚本
- 有关多个输入表单验证的问题