Magento / jQuery - 用户点击后获取输入值

时间:2013-04-29 16:04:01

标签: jquery magento jgrowl

我正在使用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在单独的通知中,有没有办法让它显示后用户点击输入字段?

提前致谢

1 个答案:

答案 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。