ホストされている e コマース プラットフォームでフロント エンドの開発を行っています。システムは、顧客がカートに追加するアイテムの数量を選択するためのテキスト入力を送信しますが、私は選択したいと思います. この点に関してシステムが吐き出すマークアップにアクセスできないので、JavaScript を使用してテキスト入力をselect要素に変更したいと考えています。
jQuery を使用して select を削除し、適切な選択肢を持つ select で入力要素を複製しましたが、カートに何かを追加しようとすると、select の選択に関係なく、1 つの項目しか追加されません。
ネイティブ マークアップは次のとおりです。
<div id="buy-buttons">
<label>Quantity:</label>
<input name="txtQuantity" type="text" value="1" id="txtQuantity" class="ProductDetailsQuantityTextBox">
<input type="submit" name="btnAddToCart" value="Add To Cart" id="btnAddToCart" class="ProductDetailsAddToCartButton ThemeButton AddToCartThemeButton ProductDetailsAddToCartThemeButton">
</div>
マークアップを更新するために実行している jQuery を次に示します。
$("#txtQuantity").remove();
$("#buy-buttons").append('<select id="txtQuantity" type="text" value="1" class="ProductDetailsQuantityTextBox"></select>');
$("#txtQuantity").append('<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option>');
これが機能しない理由を誰かが知っていますか? 選択は、テキスト入力と同じ方法でフォームを介して情報を送信するべきではありませんか?
ありがとう!