如何在javascript

时间:2019-06-01 19:26:52

标签: javascript jquery json ajax

我正在尝试从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>');
 });

再次,我只想访问所有名称并将其绘制在选项上。 我这样做了,但是它不起作用,也许你们会告诉我更好的方法。

2 个答案:

答案 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 DesctructuringString Literals,这使您的代码更易于阅读。

这里是fiddle