我刚刚在我的数据表中添加了DataTables Column Filter Add-on,它显示了页脚上的列搜索字段。但如果我输入“处理”的时间很短,但结果不会更新。即过滤。
我在后端使用codeIgniters ignitedDatatables。其他一切正常(分页,全局搜索在右上角) 我在网上找不到任何线索是否需要配置其他东西以使过滤器工作。
以下是我的观点 -
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://localhost/eshop/css/admin/style.css" />
<script type="text/javascript" language="javascript" src="<?php echo base_url() ?>js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo base_url() ?>js/jquery.dataTables.min.js"></script>
<script type="text/javascript" language="javascript" src="<?php echo base_url() ?>js/jquery.dataTables.columnFilter.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo base_url() ?>css/jquery.dataTables_themeroller.css"/>
<link rel="stylesheet" href="http://localhost/eshop/css/admin/smoothness/jquery-ui-custom.css"/>
<script>
$(document).ready(function() {
$('#data_table').dataTable( {
"bProcessing": true,
"bServerSide": true,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sAjaxSource": "<?php echo base_url() ?>grid/getCustomers"
} ).columnFilter(
{
aoColumns: [
{
type: "number"
},
{
type: "text",
bRegex: true,
bSmart: true
},
null
]
}
);
} );
</script>
</head>
<body>
<div class="widget_body">
<table id="data_table" class="data_table">
<thead>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
<tfoot style="background-color: whitesmoke;">
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</tfoot>
</table>
</div>
</body>
我的控制
//display
public function index()
{
$this->load->view('datatableview');
}
//ajax request handler
public function getCustomers()
{
$this->load->library('datatables');
$this->datatables->select('id,first_name,last_name')
->from('data_table');
echo $this->datatables->generate();
}
正如我之前所说,2个输入框出现在ID和名字的底部,但是当我输入框中时我看不到显示的变化
如果我在第二列的输入框中输入=“Bjo”,我发现的firebug的get请求是
_=1354249241305
bRegex=false
bRegex_0=false
bRegex_1=true
bRegex_2=false
bSearchable_0=true
bSearchable_1=true
bSearchable_2=true
bSortable_0=true
bSortable_1=true
bSortable_2=true
iColumns=3
iDisplayLength=10
iDisplayStart=0
iSortCol_0=0
iSortingCols=1
mDataProp_0=0
mDataProp_1=1
mDataProp_2=2
sColumns=
sEcho=22
sRangeSeparator=~
sSearch=
sSearch_0=
sSearch_1=Bjo
sSearch_2=
sSortDir_0=asc
找到回复
{"sEcho":22,"iTotalRecords":30,"iTotalDisplayRecords":30,"aaData":[["1","Shabab","Haider"],["2","Anas","Numan"],["3","Bjoy","Manik"],["4","Bjoy","Manik"],["5","Bjoy","Manik"],["6","Bjoy","Manik"],["7","Bjoy","Manik"],["8","Bjoy","Manik"],["9","Bjoy","Manik"],["10","Bjoy","Manik"]],"sColumns":"id,first_name,last_name"}
编辑:自从我使用了这个添加以来已经有一段时间了。我在github中用我的过滤代码创建了一个分支。但它需要一些测试。当我得到时间时,我会自己测试 - 同时如果有人想成为一个亲爱的人并为其他人做 -
https://github.com/shababhsiddique/Ignited-Datatables/blob/Branche_Column_Filter/application/libraries/Datatables.php
这是我很久以前使用的实际代码。如果它适用于您的版本
,它的旧签出https://drive.google.com/file/d/0BzKzAVzAWPRgcmNCbGhnU3pqaW8/view?usp=sharing
答案 0 :(得分:0)
我刚认为json生成库存在问题。
ignited datatables library不完整。我不得不将他们的库修改为
我不记得我所做的所有更改(那里有很多)但是我记得我改变了所有输入 - >输入 - >输出&gt; post和所有$ _GET到$ _POST
我想我也修改了这个功能
protected function get_filtering()
这是我使用的当前编辑的库 -
{ http://162.212.134.58/shabab/Datatables.zip }
您可以将我的图书馆与我的图书馆匹配以查找。
我还没有更新到最新的数据表。