我正在使用Magento 1.7.0.2和jQuery 1.9.1和jGrowl。我想要实现的是获取用户的数量值,然后将其显示为右上角的jGrowl通知。 jGrowl只是一种使用$ .jGrowl(“My Text Here”)显示文本的方式;这是我到目前为止所得到的:
HTML
<div class="add-to-cart bottom">
<input type="text" name="qty" id="qty" maxlength="12" value="500" title="Qty" onclick="$.jGrowl('500 Added To Cart');" class="input-text qty">
<button type="button" title="Add to Cart" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span>Continue to cart</span></span></button>
</div>
的jQuery
$('input#qty.input-text.qty').bind("keydown change", function(event){
$.jGrowl(this.value);
});
它有效,但我通知显示3种不同的通知是用户类型,如果我在数量框中键入500,它显示5,50,然后500在单独的通知中,有没有办法让它显示后用户点击输入字段?
提前致谢
答案 0 :(得分:0)
我将提供2个版本。您应该将Javascript绑定到 onclick 或 blur 事件而不是keydown:
HTML:
<div class="add-to-cart bottom">
<input type="text" name="qty" id="qty" maxlength="12" value="500" title="Qty" class="input-text qty">
<button type="button" title="Add to Cart" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span>Continue to cart</span></span>
</button>
</div>
jQuery(当用户从输入框中聚焦时):
jQuery('.add-to-cart.bottom .input-text').blur(function(){
jQuery.jGrowl(jQuery(this).val());
});
或强>
jQuery(当用户点击按钮时):
jQuery('.add-to-cart.bottom .btn-cart').click(function(){
jQuery.jGrowl(jQuery('.add-to-cart.bottom .qty').val());
});
请注意,最好的做法是避免在原型和版本中使用$ for jQuery in Magento。 jQuery冲突。确保你在noConflict()
mode中运行jQuery。