我正在使用jQuery发布数据并使用被调用的PHP函数返回的JSON编码数据更新两个DOM元素。
我遇到的问题是下面代码中的#cart_value和#cart_num_items元素没有在初始帖子上更新 - 如果我第二次或更多次触发帖子,它就可以正常工作和元素更新。
此行为非常一致,如果我导航到包含触发链接的另一个页面,则会发生同样的事情。
如果没有传递函数且没有使用动态添加的(.live)元素,行为也是相同的。
我使用'jQuery'而不是'$'来避免与最终用户可能已经运行的其他库发生任何潜在冲突。
非常感谢任何帮助。
我的代码是:
jQuery("a.add_to_cart").live("click", function(){
var product_id = jQuery(this).attr('href');
jQuery("img#product_image_" + product_id).effect("transfer", { to: jQuery("div#cart") }, 600,function(){
jQuery.post(model, { action : "add_item_to_cart", product_id : product_id, user_id : user_id }, function(data){
jQuery("span#cart_value").html(data.value);
jQuery("span#cart_num_items").html(data.qty);
}, "json");
});
return false;
});
答案 0 :(得分:0)
尝试引用你的json键:
jQuery("a.add_to_cart").live("click", function(){
var product_id = jQuery(this).attr('href');
jQuery("img#product_image_" + product_id).effect("transfer", { "to": jQuery("div#cart") }, 600,function(){
jQuery.post(model, { "action" : "add_item_to_cart", "product_id" : product_id, "user_id" : user_id }, function(data){
jQuery("span#cart_value").html(data.value);
jQuery("span#cart_num_items").html(data.qty);
}, "json");
});
return false;
});
此外,model
在哪里定义,user_id
定义在哪里?