我爲我的問題準備了一個簡單的測試用例。jQuery DataTables:如何在點擊複選框時過濾DOM行?
只需將其保存到磁盤並在瀏覽器中打開即可立即使用,無需下載或安裝任何內容。
這裏是我的測試案例截圖:
我的問題是:我怎麼能過濾表中的行,當用戶選擇的水果和/或糖果?在這裏調用什麼函數,fnDraw()?
我的測試文件index.html的:
<html>
<head>
<style type="text/css" title="currentStyle">
@import "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.0/themes/redmond/jquery-ui.css";
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://raw.github.com/DataTables/DataTables/master/media/js/jquery.dataTables.js"></script>
<script type="text/javascript">
$(function() {
var my_table = $('#my_table').dataTable({
bJQueryUI: true,
aoColumns: [
/* type */ { bVisible: false, bSearchable: false },
/* thing */ null
]
});
$(':checkbox').click(function() {
alert('XXX what to do here? XXX');
});
});
</script>
</head>
<body>
<p>What should be shown:</p>
<p><label><input type="checkbox" value="fruit">fruit</label></p>
<p><label><input type="checkbox" value="candy">candy</label></p>
<table id="my_table">
<thead>
<tr>
<th>Type</th>
<th>Thing</th>
</tr>
</thead>
<tbody>
<tr><td>fruit</td><td>apple</td></tr>
<tr><td>fruit</td><td>banana</td></tr>
<tr><td>fruit</td><td>pear</td></tr>
<tr><td>candy</td><td>jelly</td></tr>
<tr><td>candy</td><td>toffee</td></tr>
<tr><td>candy</td><td>fudge</td></tr>
</tbody>
</table>
</body>
</html>
感謝您的任何提示!
更新:我也問過the DataTables forum了。
謝謝你,我通過實例的工作,也許我應該更好地使用$ .fn.dataTableExt.afnFiltering作爲http://www.datatables.net/release-datatables/examples/plug-ins/range_filtering .html,然後調用fnDraw() –