【发布时间】:2013-03-21 11:00:06
【问题描述】:
我正在编写 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() 函数 函数调用分布(类型) {
$.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}],
}
]
}
如何在用户选择其中一种分布后立即显示参数并在动态创建的标签和文本框中显示参数。 谢谢。
【问题讨论】:
-
您想在选择项目时显示参数,还是在发送时显示?
-
@HodayaShalom 我想在选择分发后立即显示参数。发送与某些不同的内容有关。用于将数据发送到服务器。参数必须显示在选择下方和上方发送按钮。
-
你能解释一下你在函数
callDist中做了什么吗? -
@HodayaShalom 可能是假代码。但实际上我想获取选定的分布参数,有分配给分布的类型,我认为它们可以使用。并且参数必须作为键传递和值。例如,最小值作为键和值是2。但我必须先检查哪个分布。被选中。
-
您是否在 OnChange 中签入调试器(如果此函数运行)? (如果你能集中你的问题,那就更好了)你的问题是什么?如何从json中获取参数?如何将它们动态地放入 html 中?如何运行 Onchange?
标签: javascript jquery html json option