javascript - 列中的 Jquery Keyup

标签 javascript jquery html-table keyup

我创建了一个表,对列和行进行求和。我遇到的问题是:

当我单击“+”按钮时,我可以对行求和,但列有问题。 我认为这是 KeyUp 的问题,但我不知道。

这是对列求和的代码:

$('#sum_table tr:not(.totalCol) input:text').bind('keyup change', function() {
    var $table = $(this).closest('table');
    var total = 0;
    var thisNumber = $(this).attr('class').match(/(\d+)/)[1];

    $table.find('tr:not(.totalCol) .sum'+thisNumber).each(function() {
        total += parseInt(this.value);
    });

    $table.find('.totalCol td:nth-child('+thisNumber+')').html(total);
});

增加行和列的代码:

$("#tabla").click(function () {
        $("tr").find("td:last").before('<td><input type="text" value="0"></td>');
        var linea = $('tr:first').html();
        $('tr:last').before('<tr>'+linea+'</tr>');
        $('tr').last().find("td").last.html('<td>hola</td>');
    });

DEMO JSFIDDLE

最佳答案

我更改了 fiddle 中的 + 按钮点击

$("#tabla").click(function () {
   $("#sum_table tr:last-child").before('<tr><td><input type="text" value="0"></td><td><input type="text" value="0"></td><td><input type="text" value="0"></td><td class="total"> 0 </td></tr >');

});

Demo

编辑 您需要对新创建的文本框 keyup 事件使用 on 委托(delegate),

$(document).on('keyup change', '#sum_table tr:not(.totalCol) input:text', function () {
       var $table = $(this).closest('table');
       var total = 0;
       var thisNumber = $(this).attr('class').match(/(\d+)/)[1];

       $table.find('tr:not(.totalCol) .sum' + thisNumber).each(function () {
           total += parseInt(this.value);
       });

       $table.find('.totalCol td:nth-child(' + thisNumber + ')').html(total);
   });

Updated fiddle

编辑

$("#tabla").click(function () {

    $("#sum_table tr:last-child").before("<tr>" + $("#sum_table tr:eq(0)").html() + "</tr>");
    $("tr:not(:last-child)").each(function () {
        var classname = $(this).find("td:last-child").index() + 1;
        $(this).find("td:last-child").before('<td><input class="sum' + classname + '" type="text" value="0"></td>');
    });
    $("#sum_table tr:last-child").append("<td>0</td>");


});

Working fiddle

关于javascript - 列中的 Jquery Keyup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23237235/

相关文章:

jquery - 使用 jQuery csvToTable 创建的 html 表中没有要操作的行?

javascript - 如何在ajax调用时显示加载图像

javascript - 锚定到表中的特定 tr

javascript - Masonry 的加载问题

javascript - 检测网站访问者是否安装了工具栏,例如。使用 javascript 的谷歌工具栏

javascript - 如何使原型(prototype)中的对象不在 javascript 中共享

javascript - 使用对象(JavaScript 或 jQuery)填充选择下拉列表

javascript - 如何使用 Firefox/Firebug 或其他浏览器查看 jquery data()

javascript - 在我的案例中如何启动 css 动画?

javascript - 如何在 React 中临时隐藏表格?