Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery数据表删除行问题_Jquery_Jquery Datatables - Fatal编程技术网

jQuery数据表删除行问题

jQuery数据表删除行问题,jquery,jquery-datatables,Jquery,Jquery Datatables,我正在使用jQuery datatables来管理公司列表。 除了我必须删除一行的部分之外,一切都很顺利。 因为删除的第一行效果很好,但是如果我在firefox控制台中删除另一行,它会显示删除的第一行和这一行 如果删除第三行,它将显示已删除的所有行 $s('body').on('click', '.del-firm', function(){ var aPos = oTable.fnGetPosition( $s(this).closest('tr')[0] ); var fir

我正在使用jQuery datatables来管理公司列表。
除了我必须删除一行的部分之外,一切都很顺利。
因为删除的第一行效果很好,但是如果我在firefox控制台中删除另一行,它会显示删除的第一行和这一行

如果删除第三行,它将显示已删除的所有行

$s('body').on('click', '.del-firm', function(){
    var aPos = oTable.fnGetPosition( $s(this).closest('tr')[0] );
    var firm = $s(this).data('firm');
    $s('#client-firms').block({
        message: $s('.confirm-block'),
        overlayCSS: {
            backgroundColor: '#363636',
            cursor: 'default'
        },
        css : {
            border: '1px solid #D0D0D0',
            background: 'linear-gradient(to bottom, #fcfcfc 0%, #fbfbfb 39%, #eeeeee 84%, #ebebed 100%) repeat scroll 0 0 rgba(0, 0, 0, 0)',
            borderRadius: '3px',
            color: '#707070',
            padding: '5px',
            cursor: 'default'
        }
    });
    $s('#yes').click(function(){

        $s('#client-firms').block({
            message: 'Se proceseaza'
        });
        oTable.fnDeleteRow(aPos);
        $s.ajax({
            type: 'post',
            url: 'index.php?controller=servlet&method=del_firm',
            data: {
                'id': firm
            },
            success: function(data){
                $s('#client-firms').unblock();
            }
        });
        newRow = false;
    });
    $s('#no').click(function(){
        $s('#client-firms').unblock();
        return false;
    });
});
我会这样做:

    $s('#client-firms').on('click', '.del-firm', function(){
        $s(this).closest('tr').addClass('selected');
        var firm = $s(this).data('firm');
        var row = $s('#client-firms').find('.selected');


        $s('#client-firms').block({ 
            message: $s('.confirm-block'),
            overlayCSS: { 
                backgroundColor: '#363636',
                cursor: 'default'
            },
            css : {
                border: '1px solid #D0D0D0',
                background: 'linear-gradient(to bottom, #fcfcfc 0%, #fbfbfb 39%, #eeeeee 84%, #ebebed 100%) repeat scroll 0 0 rgba(0, 0, 0, 0)',
                borderRadius: '3px',
                color: '#707070',
                padding: '5px',
                cursor: 'default'
            }

        }); 

        $s('#no').click(function(){
            $s('#client-firms').unblock();
            return false; 
        });

    });

    $s('#yes').on('click' , function(){
        var row = $s('#client-firms').find('.selected');
        var firm = row.find('.del-firm').data('firm');

        $s('#client-firms').block({
             message: 'Se proceseaza'
        });


        $s.ajax({
            type: 'post',
            url: 'index.php?controller=servlet&method=del_firm',
            data: {
                'id': firm
            },
            success: function(){
                $s('#client-firms').unblock();
                oTable.row(row).remove().draw();
            }
        });

        newRow = false;
        oTable.draw();

    });

try var aPos=oTable.fnGetPosition($s(this.closest)(“tr”).get(0));我认为$s(this).reseact(“tr”).get(0)与$s(this)相同。reseact(“tr”)[0]您可能需要在成功回调中调用fnDraw()。#markpsmith相同的问题为此,您需要将datatable升级到1.10.2