JQueryを使用したテーブル作成でわからない部分があるので質問させてください。
以下の2つのデータがあったとします。
データ1
id, name, tel(ヘッダ)
1, taro, 0801111
2, jiro, 0901555
以下続く、、、
データ2
id, address(ヘッダ)
1, tokyo
2, osaka
以下続く、、、
ここで、ページの初期読み込み時は、データ1のデータ(50行あるとします)をfor文を使い、新たにtableタグ配下のtbodyタグ(idあり)内にappendで作成します。
その後、「表示内容を変える」ボタンを押すと、テーブル1に加えてテーブル2のaddressを新たに表示するようにしたいのです。
普通に考えれば、ボタンクリックイベントのとき、初期読み込み時と同様にforやeachのループでデータの数だけ挿入を繰り返せばいいのですが、このやり方だと、上から順番に挿入処理を繰り返しているだけのため、例えばaddressの絞り込み検索や並べ替えなどをした場合、テーブル1のname, telとテーブル2のaddressが紐付いていないことによる、表示行のズレが生じてしまいます。
そこで、どちらのテーブルにも共通で設定されている「ID(連番数値)」をキーにしてテーブル2のaddressを挿入していく方法はありませんでしょうか。
初期読み込みで作成されているテーブルのidのセルをひとつひとつチェックして、そのidと同じテーブル2のidに紐付いたaddressを、同id行のセルにループで追加挿入する、、、といったイメージです。
言葉足らずかもしれませんが、お知恵を拝借いただけますでしょうか。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
全体でどのような処理を考えているのかわかりませんが、いろいろな処理をなさりたいのなら、いちいち探しても良いですが、それよりも全体のデータをスクリプト側で保持しておくのが簡単ではないでしょうか?
>tbodyタグ内にappendで作成します。
などから推測すると、表示している表もスクリプトで作成しているもののように思われます。
idが各データのキーとなっているのなら、idをkeyとするオブジェクト形式で保持しておけば必要なデータの参照は簡単にできるようになりそうな気がします。
※ 具体的にどのようなことをなさっているのかよくわからないので、アイデアのみですが・・・
的外れでしたらスルーしてください。
ご回答いただきありがとうございます!散々悩んできたのですが、昨日解決しました
(>_<)
結局jQueryの要素→ID取得からif文で行の並び方(連番なのか、非連番なのか)によって表示処理を変えることで見かけ上行表示のつじつまを合わせる処理にしました。
おっしゃるとおり、いったん全てを配列として取り込んでから再度テーブルを構築し直すなども考えたのですが、まだ初心者のためあまり配列の扱いも詳しくなく詰まってしまったので、今回はこちらのやり方にしました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Oracle SQL update方法 2 2022/06/22 14:07
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チャットを作る
-
Ajaxでpostした内容のresponse...
-
Response.Write(変数)
-
Rを使う際、データを読み込む時...
-
jQueryの$.postの戻り値による...
-
【Ajax】改行を含めたデータを...
-
JavaScriptだけで画像アップロ...
-
HTMLでDBからデータを表形式で...
-
テーブルで作った表をボタン操...
-
DirectXとOpenGLはどちらが動作...
-
【JavaScript】confirmのボタン...
-
PHPを用いてPOSTし、リダイレク...
-
OVERLAPPED構造体が分かりませ...
-
呼び出し元のURLを知りたいのです
-
読み取り専用が外れない
-
saved from url=(0013)abou
-
Flickity で画像にリンクを貼る...
-
読み込み中に「Now Loading」を...
-
ブラウザ閉じたらサーバー処理...
-
visualwave(smalltalk言語ソフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソルの動きに合わせてDBか...
-
Ajaxでpostした内容のresponse...
-
チャットを作る
-
HTMLでリアルタイムグラフを作...
-
大量のデータを表として展開す...
-
データ受け渡しについて
-
ajaxでhtmlを返して画面に描画…...
-
Response.Write(変数)
-
Ajaxで最新の情報が取得できない
-
jQueryの$.postの戻り値による...
-
ローカルネットワーク内での502...
-
Ajax、PHP、MySQLでDBからデー...
-
セレクトボックスのHTMLを教え...
-
【Ajax】改行を含めたデータを...
-
【JavaScript】confirmのボタン...
-
非同期通信を使うタイミングが...
-
DirectXとOpenGLはどちらが動作...
-
HTMLでDBからデータを表形式で...
-
saved from url=(0013)abou
-
リンクを押すとEXEファイルを実...
おすすめ情報