前提・実現したいこと
htmlでエクセルのようフィルタができる表を作っています。
javaは以下サイト参照。
https://webparts.cman.jp/table/filter/
chrome、firefoxでは問題なく動作するのですが、
IEだとフィルタのボタンが表示されません。
何日もうまくいかず悩んでおりまして、
ご教授いただけますと幸いです。
環境:Windows10、IE11、エンタープライズモード有効
(エンタープライズモードが無効だと動作しましたが、都合上エンタープライズモードは無効にできません)
発生している問題・エラーメッセージ
IEだとフィルタボタンが表示されません。
該当のソースコード
JavaScript
1 //=============================================================== 2 // フィルタテーブルの共通変数 設定要! 3 //=============================================================== 4var gTabldID = 'sampleTable'; // テーブルのエリアのIDを設定 5var gTfStartRow = 0; 6var gTfColList = []; // ボタンが配置されている列番号 7var gTfListSave = {}; // フィルタリストの保存状態 8 9 //=============================================================== 10 // オンロードでテーブル初期設定関数をCALL 11 //=============================================================== 12window.onload = function() { 13 tFilterInit(); 14} 15 16function tFilterInit(){ 17 //============================================================== 18 // テーブルの初期設定 19 //============================================================== 20 var wTABLE = document.getElementById(gTabldID); 21 var wTR = wTABLE.rows; 22 var wAddBtn = ''; 23 24 // ------------------------------------------------------------ 25 // テーブル内をフィルタボタンを付ける 26 // ------------------------------------------------------------ 27 for(var i=0; i < wTR.length; i++){ 28 29 var wTD = wTABLE.rows[i].cells; 30 31 for(var j=0; j < wTD.length; j++){ 32 33 // --- 「cmanFilterBtn」の定義があるセルを対象とする ------ 34 if(wTD[j].getAttribute('cmanFilterBtn') !== null){ 35 36 // --- フィルタ対象はボタンの次の行から ----------------- 37 gTfStartRow = i + 1; 38 39 // --- ボタンを追加(画像はsvgを使用) ------------------ 40 wAddBtn = '<div class="tfArea">'; 41 wAddBtn += '<svg class="tfImg" id="tsBtn_'+j+'" onclick="tFilterCloseOpen('+j+')"><path d="M0 0 L9 0 L6 4 L6 8 L3 8 L3 4Z"></path></svg>'; 42 wAddBtn += '<div class="tfList" id="tfList_'+j+'" style="display:none">'; 43 wAddBtn += tFilterCreate(j); 44 wAddBtn += '</div>'; 45 wAddBtn += '</div>'; 46 wTD[j].innerHTML = wTD[j].innerHTML+wAddBtn; 47 48 // --- フィルタボタンなる列を保存 ----------------------- 49 gTfColList.push(j); 50 } 51 } 52 53 // --- ボタンを付けたら以降の行は無視する ------------------- 54 if(wAddBtn != ''){ 55 gSortBtnRow = i; 56 break; 57 } 58 59 } 60} 61 62・・・省略・・・ 63 64</script>
試したこと
cmanFilterBtn をclassにして試してみましたが、うまくできず。。
(そもそもやり方が間違っているのかもしれませんが)
回答2件
あなたの回答
tips
プレビュー