繁体   English   中英

Javascript onchange选项值

[英]Javascript onchange option value

我是JavaScript的新手,我想在单击选择标记时显示该单位。 我使用了Switch语句,但是它什么也没做。

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/

您有几个错误:

在您的switch语句中,您使用诸如case Metric_ton:类的东西case Metric_ton:但是Metric_ton应该是字符串,而不是变量,因此应写为case 'Metric_ton':

同时, kilo没有被分配在函数的值convert_unit ,这是该函数的范围之外,所以你需要的东西是这样的:

http://jsfiddle.net/6Gtcd/9/

其中kilo分配内的值convert_unit 实际上,我重命名了convert_unit以进行convert并删除了原始的convert函数,因为这似乎没有必要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM