我从服务器(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>');
}