1 回答

TA貢獻(xiàn)1842條經(jīng)驗 獲得超22個贊
我希望我理解正確——即您有一個復(fù)選框,并且在每個輸入上,該值都存儲在 cookie 中。在頁面加載時,您提取 cookie 值并將其設(shè)置為復(fù)選框。一切正常,除了當(dāng)您執(zhí)行 AJAX 請求并加載整個內(nèi)容時。
這似乎更像是一個 javascript 問題(而不是 PHP)。
在頁面加載時,您已經(jīng)根據(jù) cookie 值將復(fù)選框標(biāo)記為選中。但是,當(dāng)您執(zhí)行 AJAX 請求時,您會拉取復(fù)選框,并且不再調(diào)用負(fù)責(zé)設(shè)置復(fù)選框值的 javascript 代碼(即 checkbox.prop('checked', +$.cookie(checkboxCookieName)) )。
您需要做的是調(diào)用:
checkbox.prop('checked', +$.cookie(checkboxCookieName));
在完成 ajax 請求和注入 HTML 之后
Woocommerce 有這三個事件:
updated_wc_div updated_cart_totals updated_shipping_method
我不完全理解你想要做什么,但你必須根據(jù)你的需要將你的代碼掛鉤到其中之一。這樣做的方法是(例如使用 updated_cart_totals):
$(document).on('updated_cart_totals', function(){
checkbox.prop('checked', +$.cookie(checkboxCookieName));
});
希望它有用。
添加回答
舉報