我正在尝试从json数组访问特定数据。而我正在使用动态下拉菜单。
所以在我的情况下,我想从json中获取所有名称并将其绘制在option上。
这是我们正在访问的 Json 。
[
{
"id": 1,
"name": "john"
"age": 23,
"city": "New York"
},
{
"id": 2,
"name": "Donald"
"age": 34,
"city": "London"
},
{
"id": 3,
"name": "k'nan"
"age": 27,
"city": "Paris"
},
{
"id": 1,
"name": "jose"
"age": 29,
"city": "lesbon"
},
]
脚本
$.each(data, function(key,vlaue ){
$('select[name="bus_number"]').append('<option value="'+ key +'">'+ value +'</option>');
});
再次,我只想访问所有名称并将其绘制在选项上。 我这样做了,但是它不起作用,也许你们会告诉我更好的方法。
答案 0 :(得分:1)
Brb即将解释。
jQuery:
var data = [
{
"id": 1,
"name": "john",
"age": 23,
"city": "New York"
},
{
"id": 2,
"name": "Donald",
"age": 34,
"city": "London"
},
{
"id": 3,
"name": "k'nan",
"age": 27,
"city": "Paris"
},
{
"id": 1,
"name": "jose",
"age": 29,
"city": "lesbon"
},
];
$.each( data, function( index, object ) {
$('select[name="bus_number"]').append('<option value="'+ object['id'] +'">'+ object['name'] +'</option>');
});
答案 1 :(得分:1)
我假设您正在尝试创建一个下拉列表,其中选项的标签为数据中的name
,而选项的值为相应的id
。
data.forEach(({id, name}) => {
$('select[name="bus_number"]').append(`<option value="${id}">${name}</option>`);
});
请注意,我使用JavaSctipt的本机forEach
而不是jQuery(不再需要jQuery),并且我还使用了Object Desctructuring和String Literals,这使您的代码更易于阅读。
这里是fiddle。