2013-04-29 59 views
1

我在jGrowl中使用Magento 1.7.0.2和jQuery 1.9.1。我試圖實現的是獲取用戶的數量值,然後將其顯示爲右上角的jGrowl通知。 jGrowl只是使用$ .jGrowl(「My Text Here」)顯示文本的一種方式;繼承人我得到了什麼至今:Magento/jQuery - 在用戶點擊後獲取輸入值

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); 
}); 

它的工作原理,但我的notifcation顯示3種不同的notifactions是用戶類型,如果我在500的數量類型框中,它顯示5,50和500單獨通知,有沒有辦法讓用戶點擊輸入字段後顯示?

在此先感謝

+0

如果您在綁定中使用'keydown',則不需要'change'。 – Kalpesh 2013-04-29 17:48:01

+0

試過了,這次它不顯示任何東西。 – Gerardo 2013-04-29 20:36:18

回答

0

我會提供2個版本。你應該你的Javascript綁定到的onclick模糊事件代替的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(wh恩用戶點擊按鈕):

jQuery('.add-to-cart.bottom .btn-cart').click(function(){ 
    jQuery.jGrowl(jQuery('.add-to-cart.bottom .qty').val()); 
}); 

值得注意的是,以避免由於原型& jQuery的衝突$的jQuery在Magento使用的最佳實踐。確保你也在noConflict() mode中運行jQuery。

+0

這工作真棒(笑)。你從字面上把我從禿頭頭上拯救出來......不斷在我的頭髮上扯下! – Gerardo 2013-04-30 07:45:12

+0

@Gerardo哈哈很高興有幫助 – 2013-04-30 13:41:36