将对象的JavaScript数组添加到下拉列表
我有一个对象数组,它是使用jQuery从一个JSON将对象的JavaScript数组添加到下拉列表,javascript,jquery,json,Javascript,Jquery,Json,我有一个对象数组,它是使用jQuery从一个JSON(JSONP)文件中获取的 我需要使用HTML下拉列表显示这些数据 当前代码: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type='text/javascript'> $.getJSON('remote-j
(JSONP)
文件中获取的
我需要使用HTML下拉列表显示这些数据
当前代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type='text/javascript'>
$.getJSON('remote-json-proxy.php?lang=en&callback=?', function(data){
console.log(data);
})
</script>
JSON文件
( {"lines":[{"line":"COLOMBO - BADULLA"},{"line":"COLOMBO - MATALE"},{"line":"COLOMBO - PUTTLAM"},{"line":"COLOMBO - THANDIKULAM"},{"line":"COLOMBO - TALAIMANNAR"},{"line":"COLOMBO - BATTICALOA"},{"line":"COLOMBO - TRINCOMALEE"},{"line":"COLOMBO - MATARA"},{"line":"COLOMBO - AVISSAWELLA"},{"line":"COLOMBO - MIHINTALE"}]} );
这应该起作用:
$(document).ready(function() {
var oDDL = $("<select>");
$.getJSON('remote-json-proxy.php?lang=en&callback=?', function(data) {
$.each(data.lines, function(i, item) {
oDDL.append('<option>' + item.line + '</option>');
});
});
$("body").append(oDDL);
});
$(文档).ready(函数(){
变量oDDL=$(“”);
$.getJSON('remote-json-proxy.php?lang=en&callback=?',函数(数据){
$.each(数据行、函数(i、项){
oDDL.追加(“”+item.line+“”);
});
});
$(“正文”)。追加(oDDL);
});
如您所见,它正在构建下拉列表对象,并为JSON数组中的每一项添加options
注意:每个JSON响应都是不同的,
数据.line
和项.line
仅与此特定情况下的JSON格式匹配。如果没有元素,您首先必须在html中创建一个元素:
<select id='myselect'></select>
就这样。希望这有帮助。干杯远程json proxy.php到底返回了什么?您可以发布示例吗?您好,我已经更新了问题的详细信息。请检查,谢谢:-)尝试将
数据。项目更改为数据。行。然后,我应该在这里给出什么<代码>oDDL.追加(“”+项目d.标题+“”)代码>标题?将item.d.title
更改为仅item.line
或item.d.line
我不确定JSON在这种上下文中到底是如何工作的。。
<select id='myselect'></select>
$.getJSON('remote-json-proxy.php?lang=en&callback=?', function(data){
for(var i=0; i<data.length; i++){ //Traverse the data array
var value = data[i].value;
var text = data[i].caption;
$('<option/>').val(value).text(text).appendTo('#myselect');
};
});