问题描述
我在数据表中有多个基于 ajax jquery PHP 的选择选项过滤。它正在正确过滤记录,但更改选择选项过滤后会显示一条警报消息,底部计数显示不正确。
注意:-
(1)数据表下方的计数未正确显示。
(2) 显示一条警报消息。
这是带有记录和选择选项过滤器的数据表。
HTML 代码:-
<div class="col-md-12">
<form name="search_form" id="search_form" method="POST">
<div class="col-md-3">
<div class="formrow">
<select class="form-control select_filter" name="job_title" >
<option value ='' disabled selected>Job Title</option>
<option>PHP Developer</option>
<option>Android Developer</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="formrow">
<select class="form-control select_filter" name="emp_status" >
<option value ='' disabled selected>Employment Status</option>
<option>Permanant</option>
<option>Contract</option>
<option>Freelance</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="formrow">
<select class="form-control select_filter" name="experience" >
<option value ='' disabled selected>Experience</option>
<option>Fresher</option>
<option>1 Year</option>
<option>2 Years</option>
<option>3 Years</option>
<option>4 Years</option>
<option>5 Years</option>
<option>6 Years</option>
<option>7 Years</option>
<option>8 Years</option>
<option>9 Years</option>
<option>10 Years</option>
</select>
</div>
</div>
</form>
</div>
<div class="row">
<div class="col-xs-12">
<div class="Box Box-danger">
<div class="Box-body table-responsive">
<table id="example" class="table-bordered table-striped table-hover">
<thead>
<tr>
<th>S.No</th>
<th>Company name</th>
<th>Company email</th>
<th>Company mobile</th>
<th>Company address</th>
<th>Job title</th>
<th>Industry</th>
<th>Salary</th>
<th>Employment Type</th>
<th>No. Of Positions</th>
<th>Experience</th>
<th>Job Description</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody id="projects">
</tbody>
</table>
</div>
</div>
</div>
</div>
ajaxCompany_search.PHP
<?PHP
include('../../config.PHP');
print_r($_POST);
?>
jQuery / Ajax 代码:-
<script type="text/javascript" rel="stylesheet">
$(document).ready(function(){
$('.select_filter').on('change',function(){
$.ajax({
type: "POST",url: "ajaxCompany_search.PHP",data: $('#search_form').serialize(),// You will get all the select data..
success:function(data){
var data = $(data);
datatable.clear().rows.add(data).draw();
}
});
});
});
var datatable = $('#example').DataTable({
dom: 'Bfrtip',buttons: [
'copy','csv','excel','pdf','print'
]
});
解决方法
从 ajax 响应添加 HTML 时,您的数据表未绑定,您必须删除数据表 js 并将其重新分配给选择器,然后它才能正常工作。 或者在ajax发送响应的页面上使用数据表选择器创建整个表,然后用您当前的HTML替换整个表。