我是JavaScript的新手,当我点击select标签时,我试图显示这个单元。我用了开关语句,但它什么也没做。
HTML:
<select class="unit_from">
<option value = "Kilogram">Kilogram</option>
</select>
<select id="unit_to" onchange="convert()">
<option value = "Metric_ton">Metric ton</option>
<option value = "Kilogram">Kilogram</option>
<option value = "Gram">Gram</option>
<option value = "Milligram">Miligram</option>
<option value = "Mcg">Mcg</option>
<option value = "Long_ton">Long ton</option>
<option value = "Stone">Stone</option>
<option value = "Pound">Pound</option>
<option value = "Ounce">Ounce</option>
</select>
</div>
<div class="text_input">
<input id="txtValue" type="text" />
<p id="print_ans"></p>当选择选项值时,该单元将显示在段落id=print_ans中。
Javascript:
<script>
function convert()
{
var kilo = document.getElementById("txtValue").value;
var get_unit = convert_unit();
}
function convert_unit()
{
var x;
var y = document.getElementById("unit_to").value;
switch(y)
{
case Metric_ton:
x = kilo * 0.001;
break;
case Kilogram:
x = kilo * 1;
break;
case Gram:
x = kilo * 1000;
break;
case Milligram:
x = kilo *0.000001;
break;
case Mcg:
x = kilo * 0.000000001;
break;
case Long_ton:
x = kilo * 0.000984207;
break;
case Stone:
x = kilo * 0.00110231;
break;
case Pound:
x = kilo * 0.157473;
break;
case Ounce:
x= kilo * 2.20462;
break;
}
document.getElementById("print_ans").innerHTML = x;
}
示例:http://jsfiddle.net/6Gtcd/4/
发布于 2013-09-28 01:37:02
您有几个错误:
在switch语句中使用case Metric_ton:之类的东西,但是Metric_ton应该是字符串,而不是变量,所以应该编写case 'Metric_ton':
而且,kilo在函数convert_unit中没有被分配一个值,它超出了该函数的范围,所以您需要如下所示:
http://jsfiddle.net/6Gtcd/9/
其中kilo被分配到convert_unit中的一个值。事实上,我将convert_unit重命名为convert,并删除了原来的convert函数,因为它似乎没有必要。
https://stackoverflow.com/questions/19062187
复制相似问题