テーブルのすべての見出しから文字列を作成し、各見出しにチェックボックスを作成します。チェックされていない場合は列を非表示にし、チェックされている場合は表示する必要があります。関数はすべてのチェックボックスをdivに入れます。
ページがロードされたときに関数を呼び出しています(本文でオンロード)
これは私の機能です:
function getFirstRow(table) {
var table = document.getElementById(table);
var row = table.getElementsByTagName('tr')[0];
var cells = row.getElementsByTagName('th');
var str = "";
for (var i=0; i < cells.length; i++) {
str += "<input type='checkbox' onclick='hideOrShowCol('TreesTable', "+i+", this);' checked='checked' />" + cells[i].innerHTML + " ";
}
document.getElementById("hideAndShow").innerHTML = str;
}
これは非表示/表示機能です。
function hideOrShowCol(table, col, e) {
alert(e.checked);
var ifToShow = "";
if (e.checked)
ifToShow = "table-cell";
else
ifToShow = "none";
var getTable = document.getElementById(table);
var tds = getTable.getElementsByTagName("tr");
for (var i = 0; i < tds.length; i++) {
tds[i].childNodes[col].style.display = ifToShow;
}
}
問題は、最初の関数でチェックボックスを作成しているときに関数を呼び出していないことですが、htmlに直接書いているときは次のようにうまく動作します:
<input type="checkbox" onclick="hideOrShowCol('TreesTable', 2, this);" checked="checked" />
誰かがそれが何であるかを知っていますか?? 私はすべてを試しました...ありがとう。