我将Datatable用于我的候选人列表,并使用地区和政党名称搜索候选人。我为此使用ajax。问题是,当没有任何搜索结果时,我无法显示“未找到结果”。我该怎么做?
码:
单击搜索按钮时:
$(document).on("click", "#submit_filter", function(){
$(this).attr('disabled', 'disabled');
$('input#loading').css('display', 'block');
var districtId = $("select#filter_district option:selected").val();
var partyId = $("select#filter_party option:selected").val();
var langId = $("input#hidden_lang").val();
var table = $.fn.dataTable.fnTables(true);
if ( table.length > 0 ) {
var oTable = $('#candidates_table').dataTable();
oTable.fnDestroy();
}
$("#candidates_table").DataTable({
"bSort": false,
"bProcessing": true,
"sAjaxSource": "<?php echo base_url('search_candidates') ?>"+"/"+districtId+"/"+partyId+"/"+langId,
"fnServerData": function ( sSource, aoData, fnCallback ) {
$.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
}
在search_candidates中,控制器代码为:
function index($districtId,$partyId,$langId){
$result = $this->search->SearchCandidates($langId, $districtId, $partyId);
$json_array = array();
$res = array("aaData"=>'');
if(isset($result) && !empty($result) && is_array($result)){
foreach($result as $ind=>$val){
$nos = $ind+1;
$data['S.Nos.'] = $nos;
$data['District'] = $val->district;
$data['Election Area Nos'] = $val->election_nos;
$data['Candidate Name'] = $val->candidate_name;
$data['Political Party'] = $val->party_name;
$data['Age'] = $val->age;
$data['Gender'] = $val->gender;
$array = array($nos, $district, $election_nos, $val->candidate_name, $val->party_name, $val->age, $val->gender);
array_push($json_array, $array);
}
$res['aaData'] = $json_array;
}
echo json_encode($res);
}
通过此获得的数据是:
{"aaData":[[1,"Kathmandu","1","Prakash Man Singh","Nepali Congress","58","M"],[2,"Kathmandu","2","Madhav Kumar Nepal","Nepal Communist Party(Markswadi-Leninwadi)","60","M"],[3,"Kathmandu","3","Rameshwor Fuyal","Nepal Communist Party (Ekikrit Markswadi-Leninwadi)","51","M"],[4,"Kathmandu","4","Gagan Kumar Thapa","Nepali Congress","37","M"],[5,"Kathmandu","5","Narhari Acharya","Nepali Congress","60","M"],[6,"Kathmandu","6","Bhimsen Das Pradhan","Nepali Congress","59","M"],[7,"Kathmandu","7","Ram Bir Manandhar","Nepal Communist Party (Ekikrit Markswadi-Leninwadi)","50","M"],[8,"Kathmandu","8","Nabindra Raj Joshi","Nepali Congress","52","M"],[9,"Kathmandu","9","Dhyan Govinda Ranjit","Nepali Congress","66","M"],[10,"Kathmandu","10","Rajendra Kumar K.C.","Nepali Congress","55","M"]]}
我该如何解决?欢迎任何帮助/建议。
参考方案
数据表负责这一点。您要做的就是传递一个空数组[]
。从代码中,我看到您有$res = array("aaData"=>'');
。这可能就是为什么您没有收到“未找到结果”消息的原因。我不知道php,所以我无法建议确切的更改,但是要获取消息,json输出应该像这样
{"aaData":[]}
干杯!!
jQuery Ajax加载仅适用于单个单词变量 - php在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…
PHP JQuery复选框 - php我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(…
jQuery-找不到Ajax网址 - php好的,我敢肯定这确实很容易,而且我很愚蠢,但是似乎并不能深入了解它。我试图从我的js文件“ custom.js”中对“ helpers.php”中的某些代码进行简单的AJAX调用。但是,我仍然收到404错误,因为我似乎并没有正确遍历文件夹,尽管我确信我正在...我的文件夹结构如下:html index.php js/ custom.js includes h…
使用jQuery将值增加到attr - php我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…
如何从php中获取datatables jQuery插件的json数据 - php我是PHP的新手,正在尝试使用Datatables jQuery插件。我知道我必须从.php文件中获取数据,然后在数据表中使用它,但是我似乎无法通过ajax将其传递给数据表。我设法从数据库中获取数据,并对其进行json编码,但是后来我不知道如何在我的index.php文件中调用它,并在其中显示它。我究竟做错了什么?这是我的代码:HTML(已编辑): <…