0
私はリスティングにデータテーブルを使用しています。今私はいくつかの定義フィルタに基づいていくつかのレコードをフィルタリングしたい。Ajax成功応答後のデータテーブルリロード
私はフィルターを使ってajaxを使っています。私はフィルターに基づいて新しい応答を作成し、データテーブルの応答テーブルを置き換えています。
しかし、問題はすべてのデータテーブルのデフォルトの検索ボックスと並べ替えが行われていない後です。下記のコードを参照してください。
のjQueryコード:
//Search data from quarter
$("body").delegate("#period","change",function(){
var customer_id = $("#customer").val();
var quarter = $("#period").val();
var _token = $('input[name="_token"]').val();
//if(quarter !=''){
$("#ajax_loader_content").text("Please wait...");
$("#ajax_loader").removeClass("hide");
$.ajax({
url: "{{ url('/appraisal-search') }}", // routing
type: "POST",
data: {_token: _token, customer_id: customer_id, quarter: quarter },
success: function(res) {
$("#ajax_loader").addClass("hide");
if(res == 0){
$(".ajax-hide").addClass('hide');
$(".ajax-show").removeClass('hide');
}else{
$(".ajax-hide").removeClass('hide');
$(".ajax-show").addClass('hide');
$("#data_table_tbody").html(res);
SITE.TableDropdownMenu();
}
},
error: function(res) {
console.log('Error:' + res);
}
});
});
PHPコード:
public function searchAppraisal() {
if(WebUsers::isBusinessAnalyst()){
try {
$customer = $this->_request->customer_id;
$quarter = $this->_request->quarter;
if (!empty($customer) || !empty($quarter)) {
$data['appraisals'] = Appraisal::getSearchedAppraisals($customer, $quarter);
if(count($data['appraisals'])>0){
echo view('analyst.appraisal.ajax_search_appraisal', $data);
}else{
echo 0;
}
}
} catch (Exception $ex) {
$this->_response['error'][] = $ex->getMessage();
return response(Helpers::makeAjaxResponse(false, $this->_response));
}
}else{
return response('Unauthorized.', 401);
}
}
は、誰もがこの前に直面しますか?成功ajax呼び出しの後、グリッドを再ロードする方法
あなたは私のようなものに変更する必要があります意味:{ $(「AJAX非表示を。」 ).removeClass( 'hide'); addClass( 'hide'); $( "。ajax-show")。 $( "#data_table_tbody").html(res); dataTable.draw(); SITE.TableDropdownMenu(); } –