数据表未清除使用

时间:2020-12-22 09:05:41

标签: php jquery ajax datatable

我正在用 PHP 和 AJAX 创建一个简单的报告,显示在数据表上。
用户可以选择from dateto date,然后根据选择的日期显示数据。

我的问题是如果我没有选择销售日期,数据没有清除,仍然显示以前的记录,我不明白为什么。

我附上了下面表格的截图

screenshot of the form

我试图用下面的代码来实现这一点

function get_all()
{
    var total=0;
    var amount=0;
    var from_date = $('#from_date').val();
    var to_date = $('#to_date').val();
    $('#tbl-projects').dataTable().fnDestroy();
    

    $.ajax({
        url:"all_sales.php",

        type: "POST",
        dataType: 'JSON',
        data:{from_date:from_date, to_date:to_date},
      
        success: function (data) 
        {
            $('#tbl-projects').dataTable({
                dom: 'Bfrtip',
                buttons: [
                    , 'excel', 'pdf', 'print'
                ],
                "aaData": data
                ,
                "scrollX": true,
                "aoColumns": [
                    {"sTitle": "Member No", "mData": "mno"},
                    {"sTitle": "Member Name", "mData": "pname"},
                    {"sTitle": "Amount", "mData": "amount"},
                    {"sTitle": "Month", "mData": "months"},
                    {"sTitle": "Payment Date", "mData": "paydate"},
                ]
            });
            data.forEach(function(recordInLoop) 
            {
                amount += Number(recordInLoop.amount);
            });
            $('#amount').val(amount);
        },
        error: function (xhr) {
            console.log('Request Status: ' + xhr.status  );
            console.log('Status Text: ' + xhr.statusText );
            console.log(xhr.responseText);
            var text = $($.parseHTML(xhr.responseText)).filter('.trace-message').text();
            console.log(text)
        }
    });

}

1 个答案:

答案 0 :(得分:1)

function get_all()
     {
        var total=0;
        var amount=0;
        var from_date = $('#from_date').val();
        var to_date = $('#to_date').val();
        $('#tbl-projects').dataTable().fnDestroy();
        

        $.ajax({
            url:"all_sales.php",

            type: "POST",
            dataType: 'JSON',
            data:{from_date:from_date, to_date:to_date},
          
            success: function (data) 
            {
                $('#tbl-projects').dataTable({
                    dom: 'Bfrtip',
                    buttons: [
                        , 'excel', 'pdf', 'print'
                    ],
                    "aaData": data
                    ,
                    "scrollX": true,
                    "aoColumns": [
                        {"sTitle": "Member No", "mData": "mno"},
                        {"sTitle": "Member Name", "mData": "pname"},
                        {"sTitle": "Amount", "mData": "amount"},
                        {"sTitle": "Month", "mData": "months"},
                        {"sTitle": "Payment Date", "mData": "paydate"},
                    ]
                });
                data.forEach(function(recordInLoop) 
                {
                    amount += Number(recordInLoop.amount);
                });
                $('#amount').val(amount);
            },
            error: function (xhr) {
                console.log('Request Status: ' + xhr.status  );
                console.log('Status Text: ' + xhr.statusText );
                console.log(xhr.responseText);
                var text = $($.parseHTML(xhr.responseText)).filter('.trace-message').text();
                // Reset text box  
                $('#from_date').val('');
                $('#to_date').val('');

                console.log(text)
            }
        });

    }
</script>

 $('#from_date').datepicker('setDate', null);
 $('#to_date').datepicker('setDate', null);