jqueryショッピングカートを使用していますhttp://plugins.jquery.com/project/smartcart2
サーバー側でセッションを維持するためにAjax呼び出しを行うために、onAdded、onRemoved、onUpdatedメソッドを実装するのを手伝ってくれる人はいますか。オブジェクトが追加/削除/更新されるたびにサーバーで Ajax リクエストを行い、データを JSON 形式で取得します。サーバーからの更新と同じように数量をobj.attr("qty", eval(msg)[1]);
更新します。ただし、更新を押すか、テーブルのデータが再入力されると、カートのアイテムはなくなります。したがって、実際の問題は、セッションからデータを入力して、更新などの際に製品がショッピング カートに残るようにする方法です。
$('#SmartCart').smartCart({
onAdded: function(pObj,quantity){ cartAdded(pObj,quantity);},
onRemoved: function(pObj){ cartRemoved(pObj);},
onUpdated: function(pObj,quantity){ cartUpdated(pObj,quantity); },
});
function cartAdded(obj,qty){
var product_id = obj.attr("pid");
var quantity = qty;
// Ajax calls for adding product to cart
function(pObj,quantity){
cartAdded(pObj,quantity);}
}
function cartRemoved(obj){
var product_id = obj.attr("pid");
// Ajax call for removing product from cart
}
function cartUpdated(obj,qty){
var product_id = obj.attr("pid");
var quantity = qty;
// Ajax call for updating product on cart
}
function cartAdded(obj,qty){
var partNum = obj.attr("partNumber");
var quantity = qty;
$.ajax({
type: 'POST',
url: "json/sessionManager",
data : "partNum=" + partNum + "&qty=" + quantity,
dataType: "text/json",
success: function(msg){
obj.attr("qty", msg[1]);
},
error: function(httpRequest, textStatus, errorThrown) {
alert("status=" + textStatus + ",error=" + errorThrown);
}
});
}
同じことをお勧めします。