如何使用Javascript解析json并在下拉按钮中显示数据
How to parse json and show data in a dropdown button using Javascript?
我有一个JSON结构,看起来像这样
[
{
"term_id":"28",
"name":"Audi",
"slug":"audi",
"term_group":"0"
}
]
在我的HTML页面中,我有一个下拉按钮,我想在单击后显示名称。为此,我编写了一些Javascript代码,如下所示:
var serviceURL = "http://www.dohamark.com/samudra/";
var make;
$('#make1').bind('pageinit', function(event) {
getEmployeeList();
});
function getEmployeeList() {
$.getJSON(serviceURL + '1st.php', function(data) {
$.each(data, function(index, employee) {
$('#make1').append('<option>' + employee.name + '</option>');
});
});
}
但是,该脚本在单击下拉按钮时没有显示任何内容,只有一个空白位置。我是JavaScript的新手,对JSON解析了解不多。有人能帮我指出我的错误吗?
试试这个:
$.each(data, function (index, employee) {
$('#make1').append('<option>' + employee.name + '</option>');
});
小提琴:http://jsfiddle.net/KYtph/2/
你的代码很好。确保它不像其他人建议的那样跨域,并正确解析为json。
这个怎么样:
for (var index in employee) {
$('#make1').append($('<option>').text(employee[index].name));
});
如果我没看错你的问题,我想应该可以了。
EDIT -只是为了确保OP清楚,当我在for in
循环中使用变量employee
时,应该引用返回的JSON。
我想这样写:
$.each(data, function () {
$('#make1').append('<option>' + this.name + '</option>');
});
同时,@迈克·布莱恩特说得很好;如果您要跨域访问,则必须使用JSON-P.
请尝试以下代码:
var dd = $("#make1");
$(dd).empty();
$(dd).append($('<option />').attr('value', '-1').text('-----Select----'));
$.each(data, function(index, employee) {
dd.append($('<option />').attr('Value',employee.ID).text(employee.Name));
});
相关文章:
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 类似FB的按钮显示在页面上,但不会在同一页面上弹出
- 单击javascript按钮显示/隐藏Div元素
- 单击按钮显示不同的文本,重复第一个文本
- C3.js通过单击按钮显示工具提示
- 单击按钮显示重新单击消失
- 点击浏览器的“后退”按钮显示的是JSON而不是HTML(使用Rails和d3.js)
- 尝试从单选按钮显示的JSON数组中调用多个对象
- 在youtube视频中单击按钮显示图像
- 使用HTML和Javascript,使用4个单选按钮显示和隐藏输入字段
- 如何在javascript中使两个按钮显示在一起
- 如何使用按钮显示/隐藏潜水
- 使用不起作用的按钮显示和隐藏
- facebook点赞按钮显示数以万计的点赞
- 流星:点击按钮显示一些东西
- jQuery按钮显示/隐藏类,如果存在类
- 如何让我的 ckEditor 菜单按钮显示在两行而不是四行上
- 如何让我的移动菜单按钮显示和隐藏导航栏,以及在负空间中单击时隐藏
- 网格中的拆分按钮显示在行后面 - 剑道 UI
- Dijit 按钮显示图标,但不以编程方式显示标签