A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
例えば、商品ひとつがtrタグ一行なら
JSでその行(trタグ)を削除するとか
dispiay styleをnone に変更するのがかんたんです。
ただ、確認画面ということなら
最初からその行をブラウザに送らないのが
普通でしょう。
No.2
- 回答日時:
こんにちは
>JavaScriptで以上のようなことを実装できないか模索しております
「表示/非表示」だけの話なら、難しいことではないと思いますけれど・・・
>注文フォームを作っています。
とのことですので、確認画面に遷移する前に、サーバに送信しているのではないでしょうか?
もしそうであるなら、サーバ側で処理を行うのが常道かと。
それとも、送信はせずに、そのままのページで確認画面にしているということでしょうか?
もしそうであるなら、その仕組みやHTMLの構成がどうなっているのか不明ですけれど、
<table id="hoge">
・・・・・
<tr><td></td><td></td>
<td><select></select><td>
</tr>
・・・・・
</table>
のような構成になっているものと推測しますので、select要素から見て祖先要素のtrを表示/非表示すれば良いことになると思われます。
>ヒントでも結構ですので、お教えいただけると助かります。
処理のタイミングも不明ですが、該当するイベント処理内で
document.querySelectorAll('#hoge select').forEach(e=>{
e.closest('tr').style.display = (e.value == 0)?'none':'';
});
などとしておくことで、表内のselectの値が0の行(=tr)は非表示になります。
No.1
- 回答日時:
こんな感じでしょうか。
<body>
<section id="order">
<form id="order-form">
<table id="order-table">
<thead><tr>
<td>商品名</td>
<td>価格</td>
<td>数量</td>
</tr></thead>
</table>
<input id="order-btn" type="button" value="確認" />
</form>
</section>
<section id="confirm" style="display:none;">
<form id="confirm-form">
<table id="confirm-table">
<thead><tr>
<td>商品名</td>
<td>価格</td>
<td>数量</td>
</tr></thead>
</table>
<input type="submit" value="購入" />
</form>
</section>
<script>
const data = [
{name: "aaa", price: 100, number: 0},
{name: "bbb", price: 130, number: 0},
{name: "ccc", price: 150, number: 0},
];
class Table {
constructor(section_name){
this.section_name = section_name;
if(section_name === 'order'){
this.disp(data);
}else if(section_name === 'confirm') {
this.disp(data.filter(d => d.number !== 0));
}
}
disp(data){
const tbody = document.getElementById(`${this.section_name}-table`).createTBody();
data.forEach((d, idx) => {
const newRow = tbody.insertRow(-1);
newRow.insertCell(0).appendChild(document.createTextNode(d.name));
newRow.insertCell(1).appendChild(document.createTextNode(d.price));
const number_element = d.number === 0? this.select(idx) : document.createTextNode(d.number);
newRow.insertCell(2).appendChild(number_element);
});
}
select(idx){
const select = document.createElement('select');
[0, 1, 2, 3].forEach(num => {
const option = document.createElement('option');
option.value = num;
option.textContent = num;
select.appendChild(option);
});
select.addEventListener('change', (e)=>{
data[idx].number = e.target.value;
}, false);
return select;
}
}
// 実行
const order_table = new Table('order');
document.addEventListener('click', e => {
if(e.target === document.getElementById('order-btn')) {
document.getElementById('order').style.display = 'none';
document.getElementById('confirm').style.display = 'block';
const confirm_table = new Table('confirm');
}
}, false);
</script>
</body>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) accessについて 2 2022/05/31 16:58
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでフォームから別フォー...
-
ExcelVBAでフォーム内でブック...
-
VBA リストボックスをダブルク...
-
ExcelVBAでユーザーフォーム内...
-
VBAにてメッセージボックスを最...
-
accessで2つ以上のフォームを起...
-
PDFフォーム内で日付計算したい...
-
【ACCESS2003】サブフォーム名...
-
Googleフォーム・複数人の申し...
-
csvに保存しているデータをURL...
-
リストボックスの選択解除
-
フォーム上の全てのコントロー...
-
VB.net(VB)で、フォームにExcel...
-
dbOpenTableとdbOpenDynaset
-
Access 無操作の場合、自動で閉...
-
ACCESS VBAサブフォーム(DATA S...
-
VBプログラムの終了
-
ACCESS 表形式フォームで1レ...
-
VBのEXEファイルのサイズを小さ...
-
サブフォームの行ごとにコンボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
Accessでフォームから別フォー...
-
ExcelVBAでフォーム内でブック...
-
アクセスVBA フォームのス...
-
VB.net(VB)で、フォームにExcel...
-
サブフォームの新規レコードに...
-
メッセージボックスの背景色
-
Access 無操作の場合、自動で閉...
-
VBA リストボックスをダブルク...
-
accessで2つ以上のフォームを起...
-
VBプログラムの終了
-
リストボックスの選択解除
-
ユーザーフォーム上にアイコン...
-
ToolStripStatusLabelを固定し...
-
サブフォームの行ごとにコンボ...
-
VBAでフォームのスクロールバー...
-
フォーム上の全てのコントロー...
-
サブフォームのイベント取得
-
ディスプレイ解像度より大きな...
おすすめ情報