Jquery.ajax关闭

时间:2014-01-27 07:19:07

标签: jquery ajax

如何为此弹出窗口添加关闭按钮?点击Продолжить покупки时关闭。

HTML code:

<div id="notification"></div>
函数调用后的

html代码

<div id="notification"><div class="layer">&nbsp;</div><div class="addtocart_window"><div class="c"><div class="t">Товар добавлен в корзину</div><a class="btn btn-default btn-subscribe" href="/cart_items/" title="Оформить заказ">Оформить заказ</a><br><br><a class="t2 close2">Продолжить покупки</a></div></div></div>

不起作用。

$('#button-cart').bind('click', function() {

    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
        dataType: 'json',
        success: function(json) {
            $('.success, .warning, .attention, information, .error').remove();

            if (json['error']) {
                if (json['error']['option']) {
                    for (i in json['error']['option']) {
                        $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
                    }
                }
            } 

            if (json['success']) {

                $('#notification').html('<div class="layer">&nbsp;</div><div class="addtocart_window"><div class="c"><div class="t">Товар добавлен в корзину</div><a class="btn btn-default btn-subscribe" href="/cart_items/" title="Оформить заказ">Оформить заказ</a><br><br><a class="t2 close2">Продолжить покупки</span></div></div>');

                $('.success').fadeIn('slow');

                $('html, body').animate({ scrollTop: 0 }, 'slow'); 
            }


        }
    });

$('.close2').on('click', function(){
  $('#notification').hide().empty();
});
});

2 个答案:

答案 0 :(得分:0)

这取决于你关于'close'的意思我觉得你要做的就是隐藏通知,但也要清空它,因为你已经在响应中添加了html内联。我无法在#notification上看到css,但我认为这将首先隐藏通知窗口(假设模态是什么),然后清空它的内容。

$('.close2').on('click', function(){
  $('#notification').hide().empty();
});

答案 1 :(得分:0)

您可以将事件委托给最近的静态父级或$(document)

$('#notification').on('click', '.close2', function(){ 
     $(this).closest('#notification').empty().hide();
});

您也可以将事件委托给$(document).on('click',