如何使用jQuery在选择框中显示JSON数据?
这是我的JSON数据:如何使用jQuery在选择框中显示JSON数据?
{"ACT":"Australian Capital Territory","NSW":"New South Wales","NT":"Northern Territory","QLD":"Queensland","SA":"South Australia","TAS":"Tasmania","VIC":"Victoria"}
如何显示在选择列表的这个JSON数据?
这里有一种方法(需要较少的函数调用):
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>');
});
使用$ .each并遍历所有元素。这应该工作:
$.each(jsonData, function(key, value)
{
$('<option></option>').val(key).text(value).appendTo('#yourSelectList');
});
根据数据的大小,很多.append()操作可能很昂贵。创建一个占位符数组并将.push()选项添加到它上面会更快,然后.append(myArray.join(''))只需要一次。 – MightyE 2010-02-21 16:47:19
这是错误的。什么是'this.code'和'this.name'?它根本不起作用。不知道为什么这是起床投票。 – user113716 2010-02-21 17:08:58
MightyE:如果我们谈论HTML字符串,那只会有任何意义。 (即使这样,jQuery的append函数仍然需要逐个添加每个DOM节点,所以你不需要像这样保存任何东西。) – bobince 2010-02-21 17:13:59
适用于此数据集,但在一般情况下,您需要使用HTML转义来替换数据中的 bobince 2010-02-21 17:17:43
@bobince - 我明白你的意思。调用'.val()'和'.text()'是否足以避免这个问题? – user113716 2010-02-21 17:29:00
是的。 )'用于其他情况。 – bobince 2010-02-21 21:23:48