我正在编写html和javascript代码以从Json文件中获取一些数据。 我的HTML代码:
<div class="section">
<div class="sectionTitle">
<h3>Configuration</h3>
</div>
<select name="selectDistribution" class="span12" onchange="callDist("value");"
onfocus="this.selectedIndex = -1;">
<option >Choose from distributions.</option>
<option value="1">Uniform</option>
<option value="2">Normal</option>
<option value="3">Exponential</option>
<option value="4">Geometric</option>
</select>
<div id="parameters"></div>
<div id="distributionParams"> </div>
<button class="btn btn-large btn-block btn-primary" type="button">Send</button>
</div>
当用户选择一个分布时,参数必须显示在选择下方。 例如,当用户选择统一分布时,必须在下面附加最小值和最大值,并且我想在文本框中显示第一个最小值标签及其值,并且对于最大值,过程是相同的。
我的callDist()函数 函数callDist(类型) {
$.getJSON('Dist.json', function(type){
var $container = $('#parameters').empty();
$.each(type.distributions, function(i, distributions) {
if(type==1){
$.each(distributions.type, function(key, value) {
$container.append(key + ': ' + value + '<br />');
}
//And so on...
});
$container.append('<hr />');
}
);
});
}
我的Dist.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}],
}
]
}
如何在用户选择其中一个分布后显示参数,并在动态创建的标签和文本框中显示参数。 感谢。
答案 0 :(得分:0)
试试这段代码......
function callDist(value)
{
$.getJSON('Dist.json', function(type){
for(i in type.distributions)
{
if(type.distributions[i].name==value)
{
for( j in type.distributions[i].parameters)
{
for( k in type.distributions[i].parameters[j])
{
var val1=distributions[i].parameters[j][k];
var val2=distributions[i].parameters[j][k];
}
}
}
}
});
}