複数選択チェックボックスを使用してjqueryデータテーブルの列をフィルタリングまたは検索しようとしています。たとえば、都市の列であるとすると、チェックボックスを2つ選択すると、フィルタリングまたは検索が行われ、チェックボックスの結果がドロップダウンで表示されます。私は解決策を見つけるために多くの方法を試しましたが、私は今までそれを分解することができませんでした。誰かがこれを解決するのを助けることができれば大いに感謝します。前もって感謝します。私はちょうどあなたの参照のために下にjqueryのコードを入れています。jqueryデータテーブル内の列を複数のチェックボックスを使用して選択またはドロップする
<head>
<meta charset="utf-8">
<title>jQuery Datatable</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="http://davidstutz.github.io/bootstrap-multiselect/dist/css/bootstrap-multiselect.css">
<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> -->
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
<script src="http://davidstutz.github.io/bootstrap-multiselect/dist/js/bootstrap-multiselect.js"></script>
<style>
* {
margin:0;
padding: 0;
}
#wrap {
width: 100%;
margin: auto;
}
.addcolr {
color: green;
}
</style>
<script>
/*$(document).ready(function() {
$('#example th').each(function() {
alert(this.textContent);
});
});*/
$(document).ready(function() {
$('#example').DataTable({
"bFilter": true,
initComplete: function() {
this.api().columns(2).every(function() {
var column = this;
var select = $('<select id="sel_dropdown" multiple="multiple"><option value=""></option></select>')
.appendTo($(column.footer()).empty());
/*.on('change', function() {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^'+val+'$' : '', true, false)
.draw();
});*/
column.data().unique().sort().each(function (d, j) {
select.append('<option value="'+d+'">'+d+'</option>')
});
});
}
});
$('#example tbody tr td:nth-child(4)').each(function(){
if($(this).text() == 61) {
$(this).css("color","red");
}
else if($(this).text() == 47) {
$(this).addClass("addcolr");
}
});
//multiselect
$('#sel_dropdown').multiselect();
// $('#example').DataTable();
$('#sel_dropdown').change(function() {
$('#example').DataTable().fnFilter($('#sel_dropdown').val(),2);
});
});
</script>
</head>
<body>
<div id="wrap"></div></body>