Javascript 在负整数上筛选jQuery数据表
我可以在负片上对数据表进行排序,但我想对select.change()事件进行筛选而不是排序。基本上,我只需要它获取第4列的值,并基于选择框选择{all、positive或negative}渲染行Javascript 在负整数上筛选jQuery数据表,javascript,jquery,datatables,Javascript,Jquery,Datatables,我可以在负片上对数据表进行排序,但我想对select.change()事件进行筛选而不是排序。基本上,我只需要它获取第4列的值,并基于选择框选择{all、positive或negative}渲染行 <table class="data-table"> <thead> <tr> <th>Text</th> <th>Text</th> <th&
<table class="data-table">
<thead>
<tr>
<th>Text</th>
<th>Text</th>
<th>Text</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Lorem</td>
<td>Ipsum</td>
<td>Dolor</td>
<td>$1.99</td>
</tr>
<tr>
<td>Lorem</td>
<td>Ipsum</td>
<td>Dolor</td>
<td>$2.99</td>
</tr>
<tr>
<td>Lorem</td>
<td>Ipsum</td>
<td>Dolor</td>
<td>$-1.99</td>
<tr>
<td>Lorem</td>
<td>Ipsum</td>
<td>Dolor</td>
<td>$-2.99</td>
</tr>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">
<select class="select-filter">
<option value="1">All</option>
<option value="2">Positive</option>
<option value="3">Negative</option>
</select>
</tr>
</tfoot>
</table>
但“看起来”最容易让我做我想做的事情是:
$(".data-table").dataTable().columnFilter({
aoColumns: [
null,
null,
null,
{type: "select"}
]
});
尽管如此,它只会创建一个包含所有值的select。我怎样才能做到这一点呢?这里有一种方法,尽管我不认为这是“最好的方法”。该示例发布在jsbin中
请注意第一列,它将被隐藏,但它包含“2”或“3”表示正和负
<tr>
<th>Filter Val</th>
<th>Text</th>
<th>Text</th>
<th>Text</th>
<th>Value</th>
</tr>
var myFilter = $('#myFilter');
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
if (myFilter.val() == 1)
return true;
else if (myFilter.val() == 2)
return (aData[3].indexOf('-') == -1);
else
return (aData[3].indexOf('-') != -1);
}
);
myFilter.change(function () { $('#myTable').dataTable().fnDraw(); });
这里有一种方法,尽管我不认为这是“最好的方法”。该示例发布在jsbin中
请注意第一列,它将被隐藏,但它包含“2”或“3”表示正和负
<tr>
<th>Filter Val</th>
<th>Text</th>
<th>Text</th>
<th>Text</th>
<th>Value</th>
</tr>
var myFilter = $('#myFilter');
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
if (myFilter.val() == 1)
return true;
else if (myFilter.val() == 2)
return (aData[3].indexOf('-') == -1);
else
return (aData[3].indexOf('-') != -1);
}
);
myFilter.change(function () { $('#myTable').dataTable().fnDraw(); });
这里有一个方法:
“myFilter”是选择项的ID。AFNFilter允许您将自己的自定义筛选器添加到数据表中。请注意,下面的过滤函数很简单-值列中没有破折号的任何内容都将被视为正(包括空格)。任何带破折号的都是负数
<tr>
<th>Filter Val</th>
<th>Text</th>
<th>Text</th>
<th>Text</th>
<th>Value</th>
</tr>
var myFilter = $('#myFilter');
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
if (myFilter.val() == 1)
return true;
else if (myFilter.val() == 2)
return (aData[3].indexOf('-') == -1);
else
return (aData[3].indexOf('-') != -1);
}
);
myFilter.change(function () { $('#myTable').dataTable().fnDraw(); });
您可能还对此感兴趣:这里有一种方法:
“myFilter”是选择项的ID。AFNFilter允许您将自己的自定义筛选器添加到数据表中。请注意,下面的过滤函数很简单-值列中没有破折号的任何内容都将被视为正(包括空格)。任何带破折号的都是负数
<tr>
<th>Filter Val</th>
<th>Text</th>
<th>Text</th>
<th>Text</th>
<th>Value</th>
</tr>
var myFilter = $('#myFilter');
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
if (myFilter.val() == 1)
return true;
else if (myFilter.val() == 2)
return (aData[3].indexOf('-') == -1);
else
return (aData[3].indexOf('-') != -1);
}
);
myFilter.change(function () { $('#myTable').dataTable().fnDraw(); });
您可能还对以下内容感兴趣: