如何将选择值传递给另一个函数并根据传递的值从Json获取数据?
我正在写html和javascript代码来从Json文件中获取一些数据。 我的HTML代码:如何将选择值传递给另一个函数并根据传递的值从Json获取数据?
<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}],
}
]
}
如何显示参数只是用户选择后其中一个发行版,并在动态创建的标签和文本框中显示参数。 谢谢。
试试这个代码...
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];
}
}
}
}
});
}
这是仅用于均匀分布。是否有整个分布参数的一般函数? – ntf 2013-03-21 11:51:23
tyr现在...它会为所有人工作。 – Dineshkumar 2013-03-21 12:24:16
好的,如何从选择中点击时显示这些值?任何想法? – ntf 2013-03-21 12:49:03
要显示在项目的选择的参数,或者当您发送? – 2013-03-21 11:14:27
@HodayaShalom我想在选择分配后立即显示参数。发送与某些不同有关。它用于将数据发送到服务器。参数必须显示在选择下方并位于发送按钮上方。 – ntf 2013-03-21 11:17:27
你能解释一下你在函数'callDist'中试图做什么吗? – 2013-03-21 11:23:08