Jquery数据表输入计算仅适用于前10个结果

时间:2014-04-17 13:05:47

标签: jquery datatables

我有数据表设置并正常工作返回所有数据库记录, 我不是那种精明的jquery,但它让我迷上了!!我即便在工作中学习。

我的问题是The Table渲染计算得很好 可用库存, 数量要求& 需要多少个延期订单商品才能在前10行上使用。 一旦我使用分页,计算就会停止工作

请在下面找到我的代码,以便在其他人需要的情况下找到新的工作代码

//loads data tables fine 
$(document).ready(function() {
     $('#datatable1').dataTable();
       });


    //this works on the frist 10 rows of the table only 

 $(document).ready(function () {
    $('.qty').on('change', function() {
        $('.hours-table tr').each(function() {
            var qty = $(this).find('input.qty').val();
            var av = $(this).find('input.av').val();
            var dateTotal = (av - qty);
            if(qty < av ){
                $(this).find('input.bo').val('0')}
            else{
                $(this).find('input.bo').val(dateTotal);
                }
        }); //END .each
        return false;
    }); // END click 
});

任何帮助将不胜感激

新工作代码

$(document).ready(function() {
 $('#datatable1').dataTable({
     "fnDrawCallback": function( oSettings ) {
  $('.qty').on('change', function() {
    $('.hours-table tr').each(function() {
        var hours = $(this).find('input.qty').val();
        var rate = $(this).find('input.av').val();
        var dateTotal = (rate - hours);
        if(hours < rate ){
            $(this).find('input.bo').val('0');}
        else{
            $(this).find('input.bo').val(dateTotal);
            }
    }); //END .each
    return false;
}); // END click 

}

}

            );
   } );

1 个答案:

答案 0 :(得分:0)

使用fnDrawCallback执行您的功能。

$('#datatable1').dataTable({
   "fnDrawCallback":function(){
        $('.hours-table tr').each(function() {
            var qty = $(this).find('input.qty').val();
            var av = $(this).find('input.av').val();
            var dateTotal = (av - qty);
            if(qty < av ){
                $(this).find('input.bo').val('0')}
            else{
                $(this).find('input.bo').val(dateTotal);
                }
        }); //END .each
    }

});

这将在第一次绘制表格时以及每次更改页面时起作用。

我添加了一个使用fnDrawCallback进行测试的示例小提取

Fiddle