在javascript中访问列表元素


Access list element in javascript

我从服务器(php)得到这个列表:

["Ak-Bulak","Balykchy","Batken"]

我如何访问它并通过js进入选择选项,我尝试的是:

for (var i in data) {
   $('#cities').append('<option>'+ data[i] +'</option>');
}

它把每个字符作为一个选项:<option>[</option>, <option>"</option>

如何访问这里的每个元素?不是每个字符…

如果它是php页面上的var,那么像这样的操作就可以了

for (var i in <?php echo '["Ak-Bulak","Balykchy","Batken"]'; ?>) {
   $('#cities').append('<option>'+ i +'</option>');
}

看起来你没有列表,你有一个字符串。首先,解析字符串

var list = JSON.parse('["Ak-Bulak","Balykchy","Batken"]')

然后,像你已经做过的那样循环它,或者不使用键:

for (var i=0; i<list.length; i++) {
    $('#cities').append('<option>'+ data[i] +'</option>');
}

您需要首先将此字符串解析为JSON。

var buffer = eval(data)
for (var i in buffer) {
    $('#cities').append('<option>'+ buffer[i] +'</option>');
}

但是如果你使用eval(),你必须确保输入数据是一致的。更新。

试试这个,

    var data='["Ak-Bulak","Balykchy","Batken"]';
    data=JSON.parse(data);

for (var i in data) {
   $('#cities').append('<option>'+ data[i] +'</option>');
 }

怎么样:

var data=<?php echo '["Ak-Bulak","Balykchy","Batken"]'; ?>;
for (var i in data) {
   $('#cities').append('<option>'+ data[i] +'</option>');
}