Как узнать, какая кнопка была использована при отправке - PullRequest
2 голосов
/ 27 февраля 2012

Я пытаюсь определить, какая кнопка / ссылка была нажата при отправке.Я создаю продукт для покупки следующим образом:

var product = JSON.parse(data);

var html = '';
html += '<div>'
html += '<form class="buy-product" >';
html += '<div class="product_title">Price</div>'
html += '<div class= "product_info_2" >' + product['product_price'] + '</div>'
html += '<div class= "product_info_2" >' + product['product_description'] + '</div>'
html += '<div class="product_title">Image</div>'
html += '<div class= "product_info_2" >Coming Soon</div>'
html += '<input type="hidden" name="product_id" value="' + product['product_id'] + '" id="product_id" >'
html += '<a href="#" class="button rightButton submit" id="add-to-cart-button" style="margin-right:100px;" >Add To Cart!</a>'
html += '<a href="#" class="button rightButton submit" id="view-product-button" >Buy It Now!</a>'
html += '</form>'
html += '</div>'

$('#product .toolbar h1').html(product['product_name']);
$('#view-product').html(html);​

И я получаю, что продукт был представлен следующим образом:

$('#product').on('submit', '.buy-product', function() {
    var product_id = $(this).children('input[name=product_id]').val();
    createPurchaseView(product_id);
    jQT.goTo('#purchase');
});​

Но как я могу различить 'Добавить вКорзина "против" Купить сейчас "нажата?

Ответы [ 2 ]

5 голосов
/ 27 февраля 2012

Добавьте аргумент события в ваш обратный вызов и проверьте его целевое свойство.

$('#product').on('click', '.buy-product', function(event) {
    var $target = $(event.target);
    if($target.is("#add-to-cart-button") {
        //Add to cart
    } else if($target.is("#view-product-button") {
        //Buy it now
    }
});

jQuery event.target page

0 голосов
/ 27 февраля 2012

Добавьте обработчики кликов к кнопкам, в которые вы добавляете некоторые данные к элементу, по которому щелкнули, например:

$('.button').click(function(){
 $(this).data("clicked", true);
});

Затем проверьте эти данные в событии отправки:

$('.button').each(function(){
 if ($(this).data("clicked")) alert("it was me");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...