我正在开发基本的django ecom。网站。我遇到了一个我无法解决的问题。问题是,在我网站的产品页面上,每个产品都有一个用于选择商品尺寸的选择框,每个选择框都具有相同的ID(因为我要遍历产品)。因此,只要我为除第一个产品以外的任何产品选择尺寸,从第一个产品下的第一个选择框中选择的尺寸就会转到我的数据库中,而不是在该产品下选择的尺寸。 这是我的html:
{% if product.id in list_cart %}
<div class="btn-group" style="display: none;">
<select class="selection-2 border" data-product={{product.id}} style="border: cadetblue;"
name="size" required id="sizebox">
{% for t in product.size.all %}
<option value="{{t}}" id="{{t}}">{{t}}</option>
{% endfor %}
</select>
</div>
{% else %}
<div class="btn-group">
<select class="selection-2 border" data-product={{product.id}} style="border: cadetblue;"
name="size" required id="sizebox">
{% for t in product.size.all %}
<option value="{{t}}" id="{{t}}">{{t}}</option>
{% endfor %}
</select>
</div>
{% endif %}
这是我的javascript:
var updateBtns = document.getElementsByClassName('update-cart')
for (i=0;i<updateBtns.length;i++){
updateBtns[i].addEventListener('click',function(){
var productId=this.dataset.product
var action=this.dataset.action
var sizebox = document.getElementById("sizebox");
var size = sizebox.options[sizebox.selectedIndex].value;
console.log(size)
updateUserOrder(productId, action, size)
})
}
我想找出一种方法,以便将产品下面的选择框的大小发送到数据库,而不是将当前正在发生的具有ID selectbox的第一个选择框的大小发送给数据库。请帮忙。谢谢。