我从服务器(php)得到这个列表:
["Ak-Bulak","Balykchy","Batken"]
我如何访问它并通过 js 输入选择选项,我尝试的是:
for (var i in data) {
$('#cities').append('<option>'+ data[i] +'</option>');
}
它将每个字符作为一个选项:<option>[</option>, <option>"</option>...
我如何在这里访问每个元素?不是每个字符..
我从服务器(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>');
}
尝试这个,
var data='["Ak-Bulak","Balykchy","Batken"]';
data=JSON.parse(data);
for (var i in data) {
$('#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=<?php echo '["Ak-Bulak","Balykchy","Batken"]'; ?>;
for (var i in data) {
$('#cities').append('<option>'+ data[i] +'</option>');
}