热呛 2016-05-12 05:08 采纳率: 100%
浏览 1867
已采纳

用jquery写出单位换算器

图片说明

问题如题 该怎么写呢

html

  <table cellpadding="0" cellspacing="1" >
                                                                                                                    <tr>
                                                                                                                          <td>英里[mi]</td><td><input type="text" id="a1"  class="cc3"/> </td><td><button type="button" id="jisuan">计算</button></td>

                                                                                                                    </tr>
                                                                                                                    <tr>
                                                                                                                          <td>化浪[fur]</td><td><input type="text"  class="cc3"/></td><td><button type="button">计算</button></td>
                                                                                                                    </tr>
                                                                                                                    <tr>
                                                                                                                          <td>链[chain]</td><td><input type="text"  class="cc3"/></td><td><button type="button">计算</button></td>

                                                                                                                    </tr>
                                                                                                                    <tr>
                                                                                                                          <td>杆[rod]</td><td><input type="text"  class="cc3"/></td><td><button type="button">计算</button></td>
                                                                                                                    </tr>           
                                                                                                                     <tr>
                                                                                                                          <td>码[yd]</td><td><input type="text"  class="cc3"/></td><td><button type="button">计算</button></td>
                                                                                                                    </tr>
                                                                                                                    <tr>
                                                                                                                          <td>英尺[tf]</td><td><input type="text"  class="cc3"/></td><td><button type="button">计算</button></td>

                                                                                                                    </tr>
                                                                                                                    <tr>
                                                                                                                          <td>英寸[in]</td><td><input type="text"  class="cc3"/></td><td><button type="button">计算</button></td>
                                                                                                                    </tr>             

                                                                                                        </table>

js

 $(document).ready(function() {
    $("#a1").change(function() {
        $("#jisuan").click(function(){
            var rate = {英里:{英里:1,化浪:8,链:80,杆:320,码:1760,英尺:5280,英寸:63360,千米:1.609344,米:1609.34,分米:16093.44,厘米:160934.4,毫米:1609344,微米:1609344000,
                             纳米:1609344000000,里:0.4098151262,町:14.7524429427,丈:531.14,间:885.23,勺:5311.37,市里:3.2186880012,市丈:482.8,市尺:4828.03,市寸:48280.32,
                             市分:482803.2,海里:0.8689762422,天文单位:0.0000000108}};


        });
    });
});

想一这种形式写出来

图片说明

  • 写回答

3条回答

  • Go 旅城通票 2016-05-12 05:40
    关注
     <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
    <table cellpadding="0" cellspacing="1" id="tb">
        <tr>
            <td>英里[mi]</td>
            <td><input type="text" id="a1" class="cc3" /> </td>
            <td><button type="button" id="jisuan">计算</button></td>
    
        </tr>
        <tr>
            <td>化浪[fur]</td>
            <td><input type="text" class="cc3" /></td>
            <td><button type="button">计算</button></td>
        </tr>
        <tr>
            <td>链[chain]</td>
            <td><input type="text" class="cc3" /></td>
            <td><button type="button">计算</button></td>
    
        </tr>
        <tr>
            <td>杆[rod]</td>
            <td><input type="text" class="cc3" /></td>
            <td><button type="button">计算</button></td>
        </tr>
        <tr>
            <td>码[yd]</td>
            <td><input type="text" class="cc3" /></td>
            <td><button type="button">计算</button></td>
        </tr>
        <tr>
            <td>英尺[tf]</td>
            <td><input type="text" class="cc3" /></td>
            <td><button type="button">计算</button></td>
    
        </tr>
        <tr>
            <td>英寸[in]</td>
            <td><input type="text" class="cc3" /></td>
            <td><button type="button">计算</button></td>
        </tr>
    
    </table>
    <script>
        var ExRates =
            {
                英里: {
                    英里: 1, 化浪: 8, 链: 80, 杆: 320, 码: 1760, 英尺: 5280, 英寸: 63360, 千米: 1.609344, 米: 1609.34, 分米: 16093.44, 厘米: 160934.4, 毫米: 1609344, 微米: 1609344000,
                    纳米: 1609344000000, 里: 0.4098151262, 町: 14.7524429427, 丈: 531.14, 间: 885.23, 勺: 5311.37, 市里: 3.2186880012, 市丈: 482.8, 市尺: 4828.03, 市寸: 48280.32,
                    市分: 482803.2, 海里: 0.8689762422, 天文单位: 0.0000000108
                }
            }, KMExRate = ExRates['英里'];
    
        $('#tb').find(':button').click(function () { compute(this)});
        function compute(btn) {
            btn = $(btn);
            var unit = $(btn).parent().prev().prev().html().replace(/\[[^\]]+\]/, ''), value = parseInt(btn.parent().prev().find('input').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().replace(/\[[^\]]+\]/, '');//目标单位
                this.value = value * ExRate[tunit];
            });
        }
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

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