Javascript 如何将select值传递给另一个函数,并根据传递的值从Json获取数据?
我正在编写html和javascript代码,以便从Json文件中获取一些数据。 我的html代码:Javascript 如何将select值传递给另一个函数,并根据传递的值从Json获取数据?,javascript,jquery,html,json,option,Javascript,Jquery,Html,Json,Option,我正在编写html和javascript代码,以便从Json文件中获取一些数据。 我的html代码: <div class="section"> <div class="sectionTitle"> <h3>Configuration</h3> </div> <select name="selectDistribution" class="span12" onchange="callDist
<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>
如何在用户选择一个发行版之后显示参数,并在动态创建的标签和文本框中显示参数。
谢谢。试试这段代码
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];
}
}
}
}
});
}
要在选择项时显示参数,或者当您发送时?@HodayaShalom我想在选择分发后立即显示参数。发送与其他内容相关。它用于将数据发送到服务器。参数必须显示在选择的下方和发送按钮的上方。您能解释一下您在函数callDist中尝试执行的操作吗?@HodayaShalom它可能是错误的代码。但实际上我想得到所选的分布参数,有一些类型分配给分布,我认为它们可以使用。这些参数必须作为键和值传递。例如,最小值作为键和值是2。但我必须首先检查选择了哪个发行版。如果此函数运行,是否在OnChange中签入调试器?如果你能集中你的问题,那会更好你的问题是什么?如何从json获取参数?如何将它们动态地放在html中?如何运行Onchange?这仅适用于统一分布。是否有用于整个分布参数的通用函数?好的,当从选择中单击时,如何显示这些值?有什么想法吗?使用jquery动态包装标签,如$id.append+val1+;此行添加由id指定的选定元素val1。
{
"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];
}
}
}
}
});
}