2013-04-29 3 views
1

Я использую Magento 1.7.0.2 и jQuery 1.9.1 с помощью jGrowl. То, что я пытаюсь достичь, - это получить значение количества пользователя, а затем отобразить его как уведомление jGrowl в правом верхнем углу. jGrowl - это просто способ отображения текста с использованием $ .jGrowl («Мой текст здесь»); Вот что я получил до сих пор: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 в количестве box, он показывает 5, 50, затем 500 в отдельных уведомлениях, есть ли способ показать его ПОСЛЕ того, как пользователь щелкнет поле ввода?

Заранее спасибо

+0

Вам не нужно «изменять», если вы используете «keydown» в bind. – Kalpesh

+0

попробовал, на этот раз он ничего не отображает. – Gerardo

ответ

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

OR

jQuery (wh ан пользователь нажимает кнопку щелкает):

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

Примечание это лучшая практика, чтобы избежать использования $ для JQuery в Magento благодаря Prototype & конфликтов JQuery. Убедитесь, что вы запускаете jQuery в noConflict() mode.

+0

Это работало великолепно (LOL). Вы буквально просто спасли меня от лысины ... вырывая мои волосы без перерыва на этом! – Gerardo

+0

@ Герардо хаха рад помочь –

Смежные вопросы