我想用div替换ajax中的消息的默认窗口,例如我想用div替换此代码:alert(data.status + ": " + data.message);
。
这是我的ajax代码:
//Start ajax code
if(!url){
url = jQuery('#product_addtocart_form').attr('action');
}
url = url.replace("checkout/cart","ajax/index");
var data = jQuery('#product_addtocart_form').serialize();
data += '&isAjax=1';
jQuery('#ajax_loader').show();
try {
jQuery.ajax({
url: url,
dataType: 'json',
type : 'post',
data: data,
success: function(data){
jQuery('.messages').remove();
jQuery('#ajax_loader').hide();
//alert(data.status + ": " + data.message);
if(jQuery('.header .links')){
jQuery('.header .links').replaceWith(data.toplink);
}
if(jQuery('.mini-cart')){
jQuery('.mini-cart').replaceWith(data.sidebar);
var status = data.status;
showMessage(status.toLowerCase(), data.message);
}
// Create below function in your jquery
function showMessage(txt, type) {
var html = '<div id="messages_product_view"><ul class="messages"><ul class="messages"><li class="'+type+'-msg"><ul><li>' + txt + '</li></ul></li></ul></div>';
jQuery('.messages').update(html);
}
}
});
} catch (e) {
}
//End ajax code
现在在这段代码中我有这个错误:
TypeError: jQuery(...).update is not a function
jQuery('.messages').update(html);
答案 0 :(得分:1)
将text / html设置为可以像这样使用的元素......
var html = '<div id="messages_product_view"><ul class="messages"><ul class="messages"><li class="'+type+'-msg"><ul><li>' + txt + '</li></ul></li></ul></div>';
jQuery('.messages').html(html);
使用.html()函数代替.update()
答案 1 :(得分:1)
试
$('#messages_product_view').append(html);