我对js没有多少经验。我想创建变量productId,它有一个产品ID,然后在
中使用这个变量$('#quantity_wanted_'+ productId +').change();
我该怎么做?
<script type="text/javascript">// The button to increment the product value
//var allowBuyWhenOutOfStock = false;
$(document).on('click', '.product_quantity_up', function(e){
var productId = 6;
e.preventDefault();
fieldName = $(this).data('field-qty');
var currentVal = parseInt($('input[name='+fieldName+']').val());
if (!allowBuyWhenOutOfStock && quantityAvailable > 0)
quantityAvailableT = quantityAvailable;
else
quantityAvailableT = 100000000;
if (!isNaN(currentVal) && currentVal < quantityAvailableT)
$('input[name='+fieldName+']').val(currentVal + 1).trigger('keyup');
else
$('input[name='+fieldName+']').val(quantityAvailableT);
$('#quantity_wanted_'+ productId +').change();
});
// The button to decrement the product value
$(document).on('click', '.product_quantity_down', function(e){
var productId = 7;
e.preventDefault();
fieldName = $(this).data('field-qty');
var currentVal = parseInt($('input[name='+fieldName+']').val());
if (!isNaN(currentVal) && currentVal > 1)
$('input[name='+fieldName+']').val(currentVal - 1).trigger('keyup');
else
$('input[name='+fieldName+']').val(1);
$('#quantity_wanted_'+productId+').change();
});
</script>
答案 0 :(得分:0)
在Smarty中,您可以定义javascript变量。
如果你查看product.tpl
文件的底部,你会看到这样的一行:
{addJsDef customizationId=$id_customization}
{addJsDef customizationFields=$customizationFields}
{addJsDef default_eco_tax=$product->ecotax|floatval}
在加载javascript文件之前,这些变量放在网站的head部分。所以它可以从任何javascript文件访问。
然后,您可以将productId
模板末尾的product.tpl
变量添加到另一个:
{addJsDef productId=$product->id}
在我的主题上,名为id_product
的变量已经存在,它也可能在您的主题中可用:
{addJsDef id_product=$product->id|intval}
答案 1 :(得分:0)
您需要在TPL中创建/设置productId
:
{addJsDef productId=$id_product}
祝你好运。