「jquery.csv2table.js」から生成されたテーブルに「super tables」を適用したい。
csv2tablesを使用して、テーブルの作成・表示はできるのですが、一部の行と列を
固定したいと考えています。色々検索した結果、「super tables」が良いかと思い、
以下のサイトを参考にスクリプトを追加していますが、エラーが表示され、固定
された表示になりません。
以下にスクリプトの情報等を記載します。書き方がそもそも間違っている等、
ご教示下さい。よろしくお願いします。
<参考にしたサイト>
http://c-brains.jp/blog/wsg/09/06/16-151445.php
<IE8のエラーメッセージ>
Web ページ エラーの詳細
ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C)
タイムスタンプ: Sun, 29 Aug 2010 14:44:55 UTC
メッセージ: 'this.sDataTable.tBodies.0' は Null またはオブジェクトではありません。
superTables.js ライン: 92
文字: 3
コード: 0
<HTML・スクリプト>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" href="./css/superTables.css" type="text/css" />
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="./js/jquery.csv2table.js"></script>
<script type="text/javascript" src="./js/superTables.js"></script>
<script type="text/javascript">
$(function(){
$('#view1').csv2table('./test.csv');
});
</script>
<style type="text/css">
.fakeContainer {
margin: 0 0 20px;
width: 600px;
height: 200px;
overflow: hidden;
}
</style>
</head>
<body>
<div id="view1" class="fakeContainer"></div>
<script type="text/javascript">
//<![CDATA[
(function () {
new superTable("view1", {
cssSkin : "sDefault",
headerRows : 1,
fixedCols : 3
});
})();
//]]>
</script>
</body>
</html>
<test.csvの内容>
No,項目1,項目2,項目3,項目4,項目5,項目6,項目7,項目8,項目9,項目10
1,,,,,,,,,,
2,,,,,,,,,,
3,,,,,,,,,,
4,,,,,,,,,,
5,,,,,,,,,,
6,,,,,,,,,,
7,,,,,,,,,,
8,,,,,,,,,,
9,,,,,,,,,,
10,,,,,,,,,,
11,,,,,,,,,,
12,,,,,,,,,,
13,,,,,,,,,,
14,,,,,,,,,,
15,,,,,,,,,,
16,,,,,,,,,,
17,,,,,,,,,,
18,,,,,,,,,,
19,,,,,,,,,,
20,,,,,,,,,,
No.1ベストアンサー
- 回答日時:
csv2table、superTableはおろかjqueryも殆ど触ったことがないので参考程度にしてください。
superTableの第一引数はtable要素のidを指定しないといけないのではないかと思います。
で、csv2tableで作られたtableにはidが設定されていません。
ですので自分で設定しなければいけないようです。
また、確実にcsv2tableでtableが作成された後にsuperTableの処理が動くように
onloadを使わないといけないのかなと思います。
正しいやり方かわかりませんが、
csv2table.jsに
var tableHtm=$.csv2table._doc.getElementById(id).innerHTML="<table>"+htm+"</table>";
というようなコードがあると思いますので、これを
var tableHtm=$.csv2table._doc.getElementById(id).innerHTML="<table id='"+op.tableId+"'>"+htm+"</table>";
に変更しtableのIDを設定できるようにします。
そして、
om7700さんのソースコードの
$('#view1').csv2table('./test.csv');
を
$('#view1').csv2table('./test.csv',
{tableId : 'hoge'
,onload : function(id,op,data,array) {
new superTable("hoge", {
cssSkin : "sDefault",
headerRows : 1,
fixedCols : 3
});
}
});
と変更してtableにIDを設定し、tableが出来上がったあとにsuperTableの処理が動くようにします。
IE8ではとりあえず動きました。
yamada_g様。
示された通りに修正したところ、期待通りの動作となりました。Javascriptは勉強を始めたばかりで「csv2table.js」自体のソースを確認するということまで考えがおよびませんでした。もっと勉強してyamada_g様のような考え方ができるようになれたらと思います。
本当に助かりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jqueryについて(Lightboxとbxs...
-
マウスオーバー+クリカブルマッ...
-
複数のjavascriptを使うと動か...
-
Jqueryの干渉について
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
openerの関係が崩れてしまった...
-
プルダウンメニューを別ファイ...
-
javascriptファイルは1つに統...
-
フォーカス移動抑止について
-
キーを押している間の時間を計...
-
日数カウントダウンをホームペ...
-
SQLのWHEREで全てを質問する方法
-
【jquery】EasyUIのSubGridにMy...
-
javascriptを2つ使うと1つの...
-
外部ファイルでBODYのonloadイ...
-
ホームディレクトリを示すチル...
-
wordpressでアコーディオンメニ...
-
フレームを解除する方法
-
相対パスと絶対パスの速度
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
base64encodeでの文字化けについて
-
複数のjavascriptを使うと動か...
-
Base64に変換したHTMLの<script...
-
シャドウボックスとjQueryを共...
-
lightboxの動作に関して
-
音楽再生用jQueryプラグイン「j...
-
CrossSlideのスライドショーが...
-
htmlで別ファイルのjavascript...
-
jQueryの基本的なことについて...
-
プラグイン無しでContactform7...
-
ebayの返信で『 Message may no...
-
DreamWeaverでJS
-
document.lastChild.appendChil...
-
パソコンでホームページを作成...
-
dojo(ライブラリ)のカレンダ...
-
jqeryのslicksliderのパスにつ...
-
jQueryのloadメソッドをする際...
-
フォントサイズを変更するボタ...
-
同一HTML内に複数のjQueryを作...
-
マウスオーバー+クリカブルマッ...
おすすめ情報