[英]Javascript onchange option value
I am new to JavaScript and I am trying to display the unit when I click on the select tag. 我是JavaScript的新手,我想在单击选择标记时显示该单位。 I used the Switch statement but it didn't do anything. 我使用了Switch语句,但是它什么也没做。
HTML: 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>
When the option value is selected, the unit is to be displayed in the paragraph id=print_ans. 选择选项值时,单位将显示在id = print_ans段落中。
Javascript: 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;
}
Example: http://jsfiddle.net/6Gtcd/4/ 示例: http : //jsfiddle.net/6Gtcd/4/
you have several errors: 您有几个错误:
in your switch
statement you use things like case Metric_ton:
but Metric_ton
is supposed to be a string, not a variable, so it should be written case 'Metric_ton':
在您的switch
语句中,您使用诸如case Metric_ton:
类的东西case Metric_ton:
但是Metric_ton
应该是字符串,而不是变量,因此应写为case 'Metric_ton':
also, kilo
is not assigned a value in the function convert_unit
, it is outside of the scope of that function, so you need something like this: 同时, kilo
没有被分配在函数的值convert_unit
,这是该函数的范围之外,所以你需要的东西是这样的:
http://jsfiddle.net/6Gtcd/9/ http://jsfiddle.net/6Gtcd/9/
where kilo
is assigned a value within convert_unit
. 其中kilo
分配内的值convert_unit
。 Infact I renamed convert_unit
to convert
and deleted the original convert
function, as it seemed unnecessary. 实际上,我重命名了convert_unit
以进行convert
并删除了原始的convert
函数,因为这似乎没有必要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.