很简单,自行尝试即可
<html> <head> <title></title> <meta charset="utf-8"> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> </head> <body> <div class="layui-row"> <table border="1"> <tr class="tr1"> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> </tr> <tr class="tr1"> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> </tr> <tr class="tr1"> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td> </tr> <tr class="tr2"> <td><input disabled="disabled" type="text"></td> <td><input disabled="disabled" type="text"></td> <td><input disabled="disabled" type="text"></td> <td><input disabled="disabled" type="text"></td> <td><input disabled="disabled" type="text"></td> </tr> </table> </div> </body> <script> $(document).ready(function () { a() }) function a() { var tableTr = $("table").find(".tr1");//获取所有tr var tds = $(".tr1").find("input");//获取所有td var sum = []; /*这个for是为了给sum初始化赋值为0*/ for (var i = 0; i < tds.length; i++) { sum[i] = 0; } /*这个for 是统计所有td的和值*/ for (var i = 0; i < tableTr.length; i++) { var tr = $(tableTr[i]).find("input"); // console.log(tr.val); for (var j = 0; j < tr.length; j++) { if ($(tr[j]).val() == '' || $(tr[j]).val().indexOf(" ") >= 0) { // 让他输出浮点数 sum[j] += parseFloat($(tr[j]).val() + 0); } else if ($(tr[j]).val().indexOf(" ")) { sum[j] += parseFloat($(tr[j]).val()); } // console.log($(tr[j]).val()); } } /*这个for 是将统计的结果赋值到对应的单元中去*/ for (var i = 0; i < sum.length; i++) { $($(".tr2").find('input')[i]).val(sum[i].toFixed(2)); if (isNaN(sum[i])) { // 如果总数出现NAN则需要进行重改 $($(".tr2").find('input')[i]).val('请输入正确数值'); } } var testVal = $('input').val(); } $('.tr1 input').on("keyup", function(){ a() // 判断是否为数字或者小数点,如果不是数字或小数点则清空输入框 $(this).val($(this).val().replace( /[^\d.]/g,"")); }).trigger('keyup'); </script> </html>