基本的に静的サイトでショッピングカートを構築しようとしています。テーブルの上に商品が陳列されています。このショッピング カートをゼロから作成しました。外部の jQuery ショッピング カート ライブラリは使用していません。
機能していないように見える機能が 1 つあります。ユーザーがショッピング カートに既に存在するアイテムを追加する場合、テーブルにアイテムを追加するのではなく、数量を増やすだけです。
これまでに実装したすべてのものと動作するデモを含む JSFiddle リンクがありますが、以下のコードも参照できます。
アイテムを追加する JS は次のとおりです。
$( "#addBtn" ).click(function() {
var item = $("#orderMenu option:selected").text();
var qty = $("#orderQty option:selected").text();
var newRowContent = "<tr><td>" + qty + "</td><td>" + item + "</td>";
$("#cart-info tbody").append(newRowContent);
});
簡単にするために、簡略化した HTML を次に示します。
<table class="table" id="cart-info">
<thead>
<tr>
<th>#</th>
<th>Item</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<select id="orderMenu">
<option>Foo</option>
<option>Bar</option>
</select>
<select id="orderQty">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<button id="addBtn">ADD TO CART</button>
これは、jQuery に変換したい疑似コードですが、方法がわかりません。
(変な疑似コード/jQuery ハイブリッドで申し訳ありません。私はまだ jQuery を学んでいます)
for each <td> in #cart-info {
if (<td>.html() == item) {
qtyCell = the previous <td>
oldQty = Number(qtyCell.text())
newQty = oldQty + qty
qtyCell.html(newQty)
exit for loop
}
}
ウェブサイト自体は純粋に HTML/CSS/JS で書かれているため、完全に静的なサイトです。
事前にどうもありがとうございました!