我的javascript代码;Array in Array in JSON
function callDist(sel)
{
$.getJSON('Dist.json', function(data){
var $container = $('#parameters').empty();
$.each(data.distributions, function(i, distribution){
$.each(distribution, function(key,value)
{
if(distribution.type==sel.value) {
alert(distribution.name);
$.each(distribution.parameters, function(key, value) {
$container.append(key + ':' + value + '<br />');
$container.append('<hr />');
});
}
});
}
);
});
}
我的Json代码;
{
"distributions":[
{
"name":"Uniform",
"type":1,
"parameters":[{ "minValue":2 , "maxValue":4 }]
},
{ "name":"Normal",
"type":2,
"parameters":[{ "mean":5 , "standartDeviation":3 }]
},
{
"name":"Exponential",
"type":3,
"parameters":[{"lamda":2}]
},
{
"name":"Geometric",
"type":4,
"parameters":[{"probability":0.2}]
}
]
}
Html code;
<select name="selectDistribution" class="span12" id="Options"
onchange="callDist(this);" >
<option value="0">Choose one distribution</option>
<option value="1">Uniform</option>
<option value="2">Normal</option>
<option value="3">Exponential</option>
<option value="4" >Geometric</option>
</select>
JSON中存在这样一些distributions.when用户从选择选项选择它们中的一些我触发callDist(SEL)函数创建的阵列。 当传递的值sel等于distribution.type时,我想将该分布的参数写入div。如何才能做到这一点?谢谢。
永远不要调用变量'JSON',因为它会覆盖原生的'JSON'对象。你有什么努力去完成你的任务? – MaxArt 2013-03-21 15:34:07
'sel.value'应该是什么? – 2013-03-21 15:36:39
@MaxArt我改变了它,但它仍然没有解决。 – ntf 2013-03-21 15:37:12