ドロップダウンとテーブルをレンダリングする関数を作成しました。このドロップダウンでは、関数内でテーブルをフィルタリングするために使用する値を取得できます。何らかの理由で、ドロップダウンで何かを再選択したときに更新されません。Javascriptのみ:表をレンダリングするためのドロップダウンとテーブルのレンダリング
ありがとうございます! それは更新されません。私はドロップダウンから()の値をCONSOLE.LOGとき、それは更新されませんので、列があった:
は、ここではいくつかのスクリーンショットです。それでも15 5と言いますが、2番目のボタンをクリックすると2と表示されます5 ドロップダウンで2番目のオプションを選択しました。私はこれをどうやって行うのか分かりません。申し訳ありません、私は初心者です。
//function which we will use to hide and unhide rows
function toggleClass(element, className, toSet) {
element.classList[toSet ? 'add' : 'remove'](className);
}
//The table is already rendered and when the buttons on the screen are clicked, this pagination function is called
function columnPagination(input) {
var table = document.getElementById("tablePrint"),
dataRows = table.getElementsByTagName('tr'),
listHTML = "";
//get date labels for dropdown
var filterDateLabels = [];
var columns = table.getElementsByTagName('th');
for(var ii = 0; ii < columns.length; ii++){
if(ii%input==0){
filterDateLabels.push(columns[ii].innerHTML.slice(21,33));
}
if(ii%input==input-1){
filterDateLabels.push(columns[ii].innerHTML.slice(21,33));
}
}
//display dropdown with values which you will use to filter the table
listHTML += "<select id=\"pagenumber\")>";
for(var ii = 0; ii < filterDateLabels.length; ii++){
listHTML += "<option value = \"" + ii + "\">" + filterDateLabels[ii] + " - ";
if(filterDateLabels[ii+1]!= ""){
listHTML += filterDateLabels[ii+1] + "</option>";
ii++;
}
else{
listHTML+="LAST </select>";
}
}
document.getElementById('dates').innerHTML = listHTML;
var multiplier = document.getElementById('pagenumber').value;
multiplier = multiplier/2;
if(multiplier == 0){
multiplier = 1;
}
//hiding function which works but doesn't update when the dropdown is clicked
input = input*multiplier;
console.log(multiplier, input);
for (var i = 0; i < dataRows.length; i++) {
var cells = dataRows[i].children;
for (var cell = 0; cell < cells.length; cell++) {
toggleClass(cells[cell], 'hide', cell > input)
}
}
}
コードを入力してください。 –
@KevinKloet完了!申し訳ありませんが、私のコードは面白いw/oコメントです。私はそれを固定した後、私はそれについてコメントするつもりだった。あなたが望むなら私は最初にコメントすることができます。 –
はい、理解しやすいコメントを追加してください。 –