表内输入的 JQuery 计算

Posted

技术标签:

【中文标题】表内输入的 JQuery 计算【英文标题】:JQuery Calculation on inputs within table 【发布时间】:2014-07-22 15:37:54 【问题描述】:

我正在使用 jquerymobile 在 phonegap 中开发一个简单的 ios 应用程序。我正在尝试对表中的输入进行简单的计算,但我不能让它太工作。它适用于前两个输入,但是一旦我为第三个计算添加了 jQuery,它就会失去所有功能。 我有以下 html

                   <table>
                    <tbody>
                        <tr>
                            <td class="tabledata">Fuel  </td>
                            <td class="tabledata"> Gallonn </td>
                    <td ><input id="a" type="text"></input></td>
                            <td class="tabledata" >138690</td>
                            <td  class="tabledata"><span id="c"></span></td>

                        </tr>
                        <tr>
                            <td  class="tabledata" >Electricity</td>
                            <td>KiloWatt-hour (kWH)</td>
                            <td ><input type="text" id="d"></input></td>
                            <td class="tabledata">3,412</td>
                            <td class="tabledata" ><span id="e"></span></td>
                        </tr>
                        <tr>
                            <td class="tabledata" >Natural Gas*</td>
                            <td  class="tabledata" >Therm**</td>
                            <td><input type="text" id="f"></input></td>
                            <td  class="tabledata" >100,000</td>
                            <td  class="tabledata" ><span id="g"></span></td>

                        </tr>
                       </tbody>
                      </table>

和下面的脚本

        $(document).ready(function() 
                          function compute() 
                          var a = parseInt($('#a').val(), 10);
                          var c = (a / 138690) * 1000000;
                          var cc = c.toFixed(2);
                          var d = parseInt($('#d').val(), 10);
                          var e = (d / 3412) * 1000000;
                          var ee = e.toFixed(2);
                          var f = parseInt($('#f').val(), 10);
                          var g = (f / 100000) * 1000000;
                          var gg = g.toFxed(2);

                          $('#c').text(cc);
                          $('#e').text(ee);
                          $('#g').text(gg);


                          

                          $('#a, #d, #f ').change(compute);

                          );

        </script>

我使用的是 jQuery 版本 1.91。

【问题讨论】:

【参考方案1】:

您的代码中有错字:

var gg = g.toFxed(2);

将其更改为 .toFixed 并在 JSFiddle 中为我工作:http://jsfiddle.net/M5LKU/

【讨论】:

我已经看了好几个小时了,不知何故一直错过了这个。无论如何,感谢您的帮助,它现在完美运行。 很高兴它成功了。将来,如果您遇到 javascript 问题,您可能希望使用 Firebug 或 Chrome 开发人员工具等工具,因为它们会迅速提醒您此类事情。它会为你节省大量的头发拉扯。 :)【参考方案2】:

g.toFxed(2) 更改为g.toFixed(2)。 只是一个错别字

【讨论】:

【参考方案3】:

您在这里错过了“toFixed”函数名称中的字母“i”:

var gg = g.toFxed(2);

【讨论】:

@BenDyer .. 你在哪里第一;)

以上是关于表内输入的 JQuery 计算的主要内容,如果未能解决你的问题,请参考以下文章

从jQuery中的数量输入框计算价格

使用 Jquery 添加和删除输入字段后计算输入字段

JQuery 滑块可以与简单的计算函数一起使用吗?

用jquery语言计算输入一个日期后,得到n天后的日期,包括时分秒!

使用jQuery计算嵌套在div中的所有输入

基于其他输入值的表单输入实时计算