热呛 2016-05-12 02:50 采纳率: 100%
浏览 1230
已采纳

如何用jquery写出单位换算器

问题如题 用什么方法去写出来 简单呢 图片说明

 最好给我写个小例子  谢谢 
  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2016-05-12 03:59
    关注

    先定好公里转换率,然后再计算得到其他的就行了,多个搞点c币啊,O(∩_∩)O哈哈~。。。

     <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
    <script>
        var ExRates =
            {
                公里: { 公里: 1, 米: 1000, 公分: 10000, 厘米: 100000, 毫米: 1000000, 微米: 1000000000, 里: 2, 丈: 300.030003 }//其他自己加上
            }, KMExRate = ExRates['公里'];
        var s = '<table border="0"><tr>',i=0;
        for (var attr in KMExRate) {
            s += '<td>' + attr + '</td><td><input type="text"/><input type="button" value="转换" onclick="compute(this)"/></td>';
            i++;
            if (i % 2 == 0) s += '</tr><tr>';
        }
        s += "</tr></table>";
        document.write(s);
        function compute(btn) {
            btn = $(btn);
            var unit = $(btn).parent().prev().html(), value = parseInt(btn.prev().val()) || 0, tunit, ExRate = ExRates[unit];
            if (value == 0) { alert('请输入大于0的数字!'); return false }
            if (!ExRate) {//此单位转换率没生成,依据KMExRage生成此单位对应其他单位的转换率
                ExRate = {};
                var rate = KMExRate[unit];
                for (var attr in KMExRate) {
                    if (attr == unit) ExRate[attr] = 1;
                    else {
                        ExRate[attr] = KMExRate[attr] * 1 / rate;
                    }
                }
                ExRates[unit] = ExRate;
            }
    
    
            var inputs = $(btn).closest('table').find(':text');
            inputs.each(function () {
                tunit = $(this).parent().prev().html();//目标单位
                this.value = value * ExRate[tunit];
            });
        }
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料