Symfony 和 js:按钮在某些情况下不起作用
Symfony & js : button not working in certain conditions
我在 shopware6 网站(版本 6.4.8.1)的产品详细信息页面上有一个简单的“plus/minus”功能(见附图)
在 /views/storefront/page/product-detail/buy-widget-form.html.twig.
中查看我的代码
{% block page_product_detail_buy_quantity_container %}
<div class="col-12 quantity-container">
<div class="row">
<div class="col-5 col-md-3 label-quantity">
<span>{{ "detail.labelQuantity"|trans|sw_sanitize }}</span>
</div>
<div class="col-7 col-md-9 quantity-input-panel">
{% block page_product_detail_buy_quantity %}
<div class="quantity-inner">
<span class="min button" id="moins" {#onclick="minus()"#}> {% sw_icon 'minus' %} </span>
<input id="amountToBasket" type="text" name="lineItems[{{ page.product.id }}][quantity]" value="{{product.minPurchase}}" autocomplete="off" maxlength="2" class="form-control">
<input id="minPurchase" type="hidden" name="minPurchase" value="{{product.minPurchase}}" autocomplete="off" class="form-control">
<input id="maxRange" type="hidden" name="maxRange" value="{{product.calculatedMaxPurchase}}" autocomplete="off" class="form-control">
<input id="purchaseSteps" type="hidden" name="purchaseSteps" value="{{product.purchaseSteps}}" autocomplete="off" class="form-control">
<span class="plus button" id="plus" {#onclick="plus()"#}> {% sw_icon 'plus' %}</span>
</div>
{% endblock %}
</div>
</div>
</div>
{% endblock %}
这是我与 plus/minus 按钮相关的 js 文件。
var minPurchase = $("#minPurchase").val();
var maxRange = $("#maxRange").val();
var count = $("#amountToBasket").val();
$("#plus").click(function () {
if (count < maxRange){
count++;
$("#amountToBasket").val(count);
}
});
$("#moins").click(function () {
if (count > minPurchase){
count--;
$("#amountToBasket").val(count);
}
});
问题:这适用于所有最低购买数量为等于至1[=30的产品=].但是,如果我们为每个最小购买数量 大于 大于 1 的产品单击加号或减号,它什么都不做。在这种情况下,它给人的印象是按钮被停用了。
你知道发生了什么事吗?
如@DarkBee 所回复,我只需要指定“计数”函数的值类型。
var count = parseInt($("#amountToBasket").val());
我在 shopware6 网站(版本 6.4.8.1)的产品详细信息页面上有一个简单的“plus/minus”功能(见附图)
在 /views/storefront/page/product-detail/buy-widget-form.html.twig.
中查看我的代码{% block page_product_detail_buy_quantity_container %}
<div class="col-12 quantity-container">
<div class="row">
<div class="col-5 col-md-3 label-quantity">
<span>{{ "detail.labelQuantity"|trans|sw_sanitize }}</span>
</div>
<div class="col-7 col-md-9 quantity-input-panel">
{% block page_product_detail_buy_quantity %}
<div class="quantity-inner">
<span class="min button" id="moins" {#onclick="minus()"#}> {% sw_icon 'minus' %} </span>
<input id="amountToBasket" type="text" name="lineItems[{{ page.product.id }}][quantity]" value="{{product.minPurchase}}" autocomplete="off" maxlength="2" class="form-control">
<input id="minPurchase" type="hidden" name="minPurchase" value="{{product.minPurchase}}" autocomplete="off" class="form-control">
<input id="maxRange" type="hidden" name="maxRange" value="{{product.calculatedMaxPurchase}}" autocomplete="off" class="form-control">
<input id="purchaseSteps" type="hidden" name="purchaseSteps" value="{{product.purchaseSteps}}" autocomplete="off" class="form-control">
<span class="plus button" id="plus" {#onclick="plus()"#}> {% sw_icon 'plus' %}</span>
</div>
{% endblock %}
</div>
</div>
</div>
{% endblock %}
这是我与 plus/minus 按钮相关的 js 文件。
var minPurchase = $("#minPurchase").val();
var maxRange = $("#maxRange").val();
var count = $("#amountToBasket").val();
$("#plus").click(function () {
if (count < maxRange){
count++;
$("#amountToBasket").val(count);
}
});
$("#moins").click(function () {
if (count > minPurchase){
count--;
$("#amountToBasket").val(count);
}
});
问题:这适用于所有最低购买数量为等于至1[=30的产品=].但是,如果我们为每个最小购买数量 大于 大于 1 的产品单击加号或减号,它什么都不做。在这种情况下,它给人的印象是按钮被停用了。
你知道发生了什么事吗?
如@DarkBee 所回复,我只需要指定“计数”函数的值类型。
var count = parseInt($("#amountToBasket").val());