我正在一个托管的电商平台上进行前端开发。该系统发送一个文本输入框,供客户选择要添加到购物车中的商品数量,但我更喜欢使用下拉选择框。由于没有访问此方面的标记,因此我想使用JavaScript将文本输入更改为select元素。
我使用jQuery删除了副本重复了元素,但是当我尝试向购物车添加物品时,只会添加一个物品,而不考虑
我正在一个托管的电商平台上进行前端开发。该系统发送一个文本输入框,供客户选择要添加到购物车中的商品数量,但我更喜欢使用下拉选择框。由于没有访问此方面的标记,因此我想使用JavaScript将文本输入更改为select元素。
我使用jQuery删除了副本重复了元素,但是当我尝试向购物车添加物品时,只会添加一个物品,而不考虑
使用replaceWith
替代remove
和append
。此外,<select>
上的type
属性是不必要的,<option>
节点应该在<select>
内部。这里是replaceWith
的文档 - http://api.jquery.com/replaceWith/。
$("#txtQuantity")
.replaceWith('<select id="txtQuantity" name="txtQuantity" class="ProductDetailsQuantityTextBox">' +
'<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>' +
'</select>');
name='txtQuantity'
添加到选择中。如果没有名称属性,则该字段的值将无法发送回服务器。value='1'
(这不起作用),而是将selected='selected'
添加到第一个选项。结果与默认情况下选择第一个选项相同。 if ($(textBoxID).val() != '') {
$(dropDownID)
.append($("<option></option>")
.attr('value', ($(textBoxID).val()))
.text($(textBoxID).val())).val($(textBoxID).val())
}
从 <select>
中删除 type
和 value
属性,添加你遗漏的 name="txtQuantity"
属性。