【发布时间】:2016-09-09 12:18:46
【问题描述】:
我们有在列表中显示的产品。
为此,我们使用foreach。
我们的列表中有大约 25 种产品。在这里,我们尝试隐藏“添加到购物车”按钮,直到使用选择选项进行选择。
对于每个产品单独不起作用,因为我们对每个产品都有相同的类。
使用以下脚本我们没有成功。加载需要很长时间并且更改选择不会执行任何操作,添加到购物车按钮也不会隐藏。
到目前为止,这是我们的代码:
<script>
$(document).ready( function() {
$('.attribute_select').bind('change', function (e) {
if( $('.attribute_select').val() == 'choose') {
$('#add_to_cart').hide();
}
else if( $('.attribute_select').val() != 'choose') {
$('#add_to_cart').show();
}
}).trigger('change');
});
</script>
{foreach from=$products item=product name=products}
<fieldset class="fs_1">
<select name="s_name1" id="attribute_combination" class="attribute_select">
<option value="choose" selected="selected">CHOOSE....</option>
<option value="1" >1</option>
<option value="2" >2</option>
</select>
</fieldset>
<div id="add_to_cart}">
<a class="" href="..." data-id-product-attribute="{$product.id_product_attribute|intval}" data-id-product="{$product.id_product|intval}" ></a>
</div>
{/foreach}
【问题讨论】:
-
使用
class代替id并在handler函数中使用this上下文... -
Rayon的id不一样,我们加_{$id_product}统一。但是我们对javascript并不熟悉
-
你的 div 的 id 有错字。它应该是
<div id="add_to_cart">,但你有一个错误的}。
标签: javascript jquery foreach