列を表示および非表示にしようとしていますが、コードがその仕事をしていません。jQueryを使用して列を非表示および表示
基本的には、クラス名に基づいて列を非表示にすることができます。
列を非表示にして表示する機能が動作しません。
$(document).ready(function() {
appendHeader();
select();
var amountOfDayEnds = parseInt($('#amountOfDayEnds').val());
appendBody(amountOfDayEnds);
});
$('#group').change(function() {
select();
});
//Change Header based on the select
function select() {
var group = $('#group').val();
// Get the column API object
console.log(group);
switch (group) {
case "DDA":
hideColumn("mtg");
hideColumn("sav");
showColumn("dda");
break;
case "SAV":
hideColumn("mtg");
showColumn("sav");
hideColumn("dda");
break;
case "MTG":
showColumn("mtg");
hideColumn("sav");
hideColumn("dda");
break;
}
}
function hideColumn(className){
var columnIndex = $("#dataTable thead tr th."+className).index();
$("#dataTable thead tr th:eq("+columnIndex+")").hide();
$("#dataTable tbody tr").each(function(){
$(this).find("td:eq("+columnIndex+")").hide();
});
}
function showColumn(className){
var columnIndex = $("#dataTable thead tr th."+className).index();
$("#dataTable thead tr th:eq("+columnIndex+")").show();
$("#dataTable tbody tr").each(function(){
$(this).find("td:eq("+columnIndex+")").show();
});
}
//Append Header
function appendHeader() {
var thead = '<thead>';
thead += "<tr class='text-primary text-center'>";
thead += '<th>Day</th>';
thead += '<th class="dda">Type 400</th>';
thead += '<th class="dda">Type 4044</th>';
thead += '<th class="dda">Type 4045</th>';
thead += '<th class="sav">Type 300</th>';
thead += '<th class="sav">Type 310</th>';
thead += '<th class="mtg">Type 700</th>';
thead += '<th class="mtg">Type 710</th>';
thead += '</tr>';
thead += '</thead>';
$('#dataTableHead').append(thead);
}
EDIT:各タイプの1つの列しか隠していないようです。クラス名ですべての列を非表示にしたい
私がここで何が欠けているか教えてもらえますか?
、あなたの関数を呼び出しますか? –
ライブの例がなければ本当に助けになることはできません。 –
@ColinCline ... hideColumn( "mtg"); showColumn( "mtg") –