Javascript 如何使用jQuery在选择框中显示JSON数据?

Javascript 如何使用jQuery在选择框中显示JSON数据?,javascript,jquery,json,Javascript,Jquery,Json,这是我的JSON数据: { "ACT": "Australian Capital Territory", "NSW": "New South Wales", "NT": "Northern Territory", "QLD": "Queensland", "SA": "South Australia", "TAS": "Tasmania", "VIC": "Victoria" } 如何在selectlist中显示此JSON数据?使用$。并遍历所有元素。这应该起作用:

这是我的JSON数据:

{
  "ACT": "Australian Capital Territory",
  "NSW": "New South Wales",
  "NT": "Northern Territory",
  "QLD": "Queensland",
  "SA": "South Australia",
  "TAS": "Tasmania",
  "VIC": "Victoria"
}

如何在selectlist中显示此JSON数据?

使用$。并遍历所有元素。这应该起作用:

$.each(jsonData, function(key, value)
{
   $('<option></option>').val(key).text(value).appendTo('#yourSelectList');
});
$。每个(jsonData、函数(键、值)
{
$('').val(键).text(值).appendTo('#yourSelectList');
});
这里有一种方法(需要更少的函数调用):

var myJson={
“法案”:“澳大利亚首都地区”,
“新南威尔士州”:“新南威尔士州”,
“新界”:“北领地”,
“昆士兰”:“昆士兰”,
“SA”:“南澳大利亚”,
“塔斯马尼亚”:“塔斯马尼亚”,
“维克”:“维多利亚”
};
$.each(myJson,函数(key,val){
$('#mySelect')。追加('+val+'');
});

根据数据的大小,许多.append()操作可能会很昂贵。创建占位符数组要快得多,将每个选项.push()放在上面,然后.append(myArray.join(“”))只放一次。这是错误的。什么是
this.code
this.name
?这根本不起作用。我不知道这为什么会被投票。也许只有当我们谈论HTML字符串时,这才有意义。(即使如此,jQuery的
append
函数仍然必须逐个追加每个DOM节点,因此这样做不会保存任何内容。)@patrick你完全正确。有点太快了。更新了我的答案。适用于此数据集,但在一般情况下,您需要HTML转义来替换
@bobince-我明白您的意思。调用
.val()
.text()
是否足以避免该问题?是的。和
.attr()
用于其他情况。
var myJson = {
  "ACT": "Australian Capital Territory",
  "NSW": "New South Wales",
  "NT": "Northern Territory",
  "QLD": "Queensland",
  "SA": "South Australia",
  "TAS": "Tasmania",
  "VIC": "Victoria"
};

$.each(myJson, function(key, val) {
  $('#mySelect').append('<option value="' + key + '">' + val + '</option>');
});