0

データテーブルを含むポップアップウィンドウがあり、データはFirefoxとChromeで完全に表示されています。

IE (私は IE 9 を持っています) では、データが表示されず、「テーブルにデータがありません」というメッセージが表示されます。

私が行った場合

console.log(historyArray);

コンソールでデータを取得します。

ここにデータテーブル コードがあります。IE の問題を解決するにはどうすればよいですか?

   myTable = $('#report').dataTable({
     "aaData": historyArray,
     "aoColumns": [{
       "mDataProp": "User"
     }, {
       "mDataProp": "Timestamp"
     }, {
       "mDataProp": "Latitude"
     }, {
       "mDataProp": "Longitude"
     }, {
       "mDataProp": "Address"
     }],
     "bPaginate": false,
     "bJQueryUI": true,
     "sDom": '<"H"Tfr>t<"F"ip>',
     "oTableTools": {
       "sSwfPath": "swf/copy_csv_xls_pdf.swf",
       "aButtons": ["copy", "csv", "xls", "pdf"]
     },
     "fnInitComplete": function () {
       addClasses();
     }
   });

修正アップデート

何らかの理由で、datatables は、window.opener によってフェッチされた配列を使用したくありませんでしたが、正常に受信されました。

新しい配列を作成して値をプッシュすることで修正しました。次に、newArray データをデータテーブルに渡します。

 var newArray = [];
 var historyArray = window.opener.historyArray;

 for (var key in historyArray) {
   newArray.push(historyArray[key])
 }
4

2 に答える 2

1

コンソールログによると、問題は次のとおりです。

window.opener.closeReportWindow();

それは言います:

SCRIPT438: Object doesn't support property or method 'closeReportWindow' 

代わりにこれを試してください:

window.close();

また、jQuery をバージョン 1.7.2 に更新します。

于 2012-07-11T11:36:39.060 に答える
0

修正アップデート

何らかの理由で、datatables は、window.opener によってフェッチされた配列を使用したくありませんでしたが、正常に受信されました。

新しい配列を作成して値をプッシュすることで修正しました。次に、newArray データをデータテーブルに渡します。

 var newArray = [];
 var historyArray = window.opener.historyArray;

 for (var key in historyArray) {
   newArray.push(historyArray[key])
 }
于 2012-07-11T13:22:12.083 に答える