我见过很多例子,我自己在很多程序中都使用过这个例子,但由于某些原因,我今天不想工作。
我有可以在console.log
中显示的JSON数据,但我的select
无效。我在控制台中收到此错误:
不能在'中使用'运营商搜索' 76'在{" hello1":" hello1"," hello2":" hello2"}
这是我的代码:
$.get("JSON.php?value=two", function(response) {
console.log(response);
// this is what my JSON returns
// {"hello1":"hello1","hello2":"hello2"}
if (response != '') {
$('#dropdown').find('option').remove();
$.each(response,function(key, value){
$('#dropdown').append('<option value=' + key + '>' + value + '</option>');
});
}
)};
答案 0 :(得分:1)
我刚刚成功测试了这个
<html>
<head>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$( document ).ready(function() {
var response = {"hello1":"hello1","hello2":"hello2"} ;
$('#dropdown').find('option').remove();
$.each(response,function(key, value){
$('#dropdown').append('<option value=' + key + '>' + value + '</option>');
});
});
</script>
</head>
<body>
<select id="dropdown"></select>
</body>
</html>
请检查。你会得到一些东西
答案 1 :(得分:0)
要实现此目标,您的响应应该是 Objects 的 Array 。
[
{
hello1 : "hello1"
},
{
hello2 : "hello2"
}
]
答案 2 :(得分:0)
我找到了解决方案。我将我的数组转换为对象并且有效
$.get("JSON.php?value=two", function(response) {
console.log(response);
// this is what my JSON returns
// {"hello1":"hello1","hello2":"hello2"}
if (response != '') {
var response2 = JSON.parse(response);
$('#dropdown').find('option').remove();
$.each(response2,function(key, value){
$('#dropdown').append('<option value=' + key + '>' + value + '</option>');
});
}
)};