
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAでユーザーフォーム内...
-
フォーム上の全てのコントロー...
-
DBグリッドコントロールが作...
-
ACCESS 表形式フォームで1レ...
-
データシートビューからフォー...
-
ディスプレイ解像度より大きな...
-
アクセスVBA フォームのス...
-
入力フォームから別のファイル...
-
Access サブフォームに連番を...
-
Googleフォーム・複数人の申し...
-
Access 無操作の場合、自動で閉...
-
エクセルで、日付を入力すると...
-
セックスレスの既婚女性は自慰...
-
「ご処理進めて頂きますようお...
-
Excelシート上のマクロを登録し...
-
CloseとDisposeの違い
-
月度は何て読みますか?
-
画像認識アルゴリズムについて
-
フォームコントロールから作っ...
-
【Excel VBA】マクロボタンを表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでフォームから別フォー...
-
VBAにてメッセージボックスを最...
-
Googleフォーム・複数人の申し...
-
VBA リストボックスをダブルク...
-
PDFフォームに本日の日付を自動...
-
ユーザーフォーム上にアイコン...
-
メインフォームからサブフォー...
-
サブフォームの新規レコードに...
-
VB.net(VB)で、フォームにExcel...
-
アクセスVBA フォームのス...
-
フォーム上の全てのコントロー...
-
リストボックスの選択解除
-
メッセージボックスの背景色
-
C# 別なフォームへ値を渡す (...
-
サブフォームのイベント取得
-
accessで2つ以上のフォームを起...
-
csvに保存しているデータをURL...
-
ExcelVBAでフォーム内でブック...
-
アクセス フォームが存在する...
-
VBプログラムの終了
おすすめ情報