Javascript 如何使用jQuery在选择框中显示JSON数据?
这是我的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数据?使用$。并遍历所有元素。这应该起作用:
{
"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>');
});