我正在用 PHP 和 AJAX 创建一个简单的报告,显示在数据表上。
用户可以选择from date和to date,然后根据选择的日期显示数据。
我的问题是如果我没有选择销售日期,数据没有清除,仍然显示以前的记录,我不明白为什么。
我附上了下面表格的截图
我试图用下面的代码来实现这一点
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)
}
});
}
答案 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);