我正在尝试使用问题列表和单选按钮填充表单。当页面加载时,我有一个变量,其中包含他们所拥有的答案,直到JSON格式的字符串:
var json = '{ "answers" : [{"84" : "Y" },{"85" : "Y" },{"86" : "Y" },{"87" : "Y" },{"88" : "Y" },{"89" : "N" },{"90" : "N" },{"91" : "N" },{"92" : "Y" },{"93" : "N" },{"94" : "Y" },{"95" : "N" },{"96" : "N" },{"97" : "Y" }]}';
我需要遍历答案并找到ID与IE id =“84”匹配的单选按钮,并根据相应的值(Y)设置它的值。
看起来像getJSON是我应该看的东西,但我不需要调用来获取数据,因为我已经拥有它。
答案 0 :(得分:4)
你可以删除外面的引号,它的格式也是正确的。
var json = {
"answers" : [{"84" : "Y" },
{"85" : "Y" },
{"86" : "Y" },
{"87" : "Y" },
{"88" : "Y" },
{"89" : "N" },
{"90" : "N" },
{"91" : "N" },
{"92" : "Y" },
{"93" : "N" },
{"94" : "Y" },
{"95" : "N" },
{"96" : "N" },
{"97" : "Y" }
]
};
与其他一些格式不同,JSON基于实际语言,这意味着您可以在常规编码中使用JSON格式。编写JSON相当容易。
答案 1 :(得分:0)
通常你会使用如下所示的每个语句:
jQuery.each(json.answers, function(i, val) {
$("#" + i).val() = val;
});
答案 2 :(得分:0)
知道了,删除了上面引用的引号,添加了一个与ID匹配的类,这样我就可以选择给定ID的所有元素:
for(var i =0; i < json.answers.length; i++) {
var item = json.answers[i];
for (var j in item) {
$('.' + j).each(function(){
if ($(this).attr("value") == item[j]) $(this).attr("checked", true);
});
}
}
我相信可能有一个更优雅的解决方案,但到目前为止效果非常好。