0


1

JavaScriptを使用した表の非表示/表示

こんにちは、私はいくつかのデータを使用できます。+をクリックすると展開および折りたたみボタンがあり、テーブルを展開して表示し、オンをクリックすると折りたたみます。次のコードを使用していますが、エラーが発生しています

document.getElementById('eleName');

imageXchk='expand';
loadedCheck='false';
function toggleDisplayCheck(e, tableSize){

element = document.getElementById(e).style;
 if (element.display=='none') {
    element.display='block';
    }
 else {
    element.display='none';
    }

 if (loadedCheck=='false') {
    myUpdater('returnsDetailsTable', '/oasis/faces/merchant/dashboard/ReturnsDetailsCheck.jsp', { method: 'get' });
    loadedCheck='true'
    }

    size = tableSize-1;
    eleName = 'mercPerfDashboardForm:returnsDetailsTable:' + size +':switchimageRetChk'
 if (imageXchk=='collapse') {
    document.getElementById('eleName').src='${pageContext.request.contextPath}/images/expand.gif';imageXchk='expand';
    }
  else {
    document.getElementById('eleName').src='${pageContext.request.contextPath}/images/collapse.gif';imageXchk='collapse';
    }
    return false;
}

2 回答


1


要素のスタイルの `display`プロパティがJavaScriptで以前に明示的に設定されていない場合、CSSルールによって要素が非表示になっていても空になります。 最も簡単な方法は、初期状態(非表示または表示)が何であるかを把握し、 `display`プロパティが空の場合にその状態を想定することです。

if (element.display=='none' || element.display=='') {
    element.display='block';
    }
 else {
    element.display='none';
    }


0


jQueryを使用して、これを非常に簡単に行うことができます。

$("#table_id").hide();  // hide the table
$("#table_id").show();  // show the table