Php jQuery-保存/使用cookie

Php jQuery-保存/使用cookie,php,jquery,cookies,Php,Jquery,Cookies,我目前正在开发一个购物车解决方案,我有一个字段,用于税务 我想做的是,当用户为tax选择复选框字段时,这些字段将存储在cookie中,因此当他们转到其他页面,然后返回购物车时,这些字段将被选中 我正在使用它来实现这一点 我可以为复选框创建cookie,但我很难再检查cookie,如果是复选框,则将复选框设置为“checked”。 我还需要,删除cookies。当用户取消选中该框时,调用类似$.cookie的内容(“vat_1”,null) 到目前为止,我有以下代码: $(document).re

我目前正在开发一个购物车解决方案,我有一个字段,用于税务

我想做的是,当用户为tax选择复选框字段时,这些字段将存储在cookie中,因此当他们转到其他页面,然后返回购物车时,这些字段将被选中

我正在使用它来实现这一点

我可以为复选框创建cookie,但我很难再检查cookie,如果是复选框,则将复选框设置为“checked”。 我还需要,删除cookies。当用户取消选中该框时,调用类似$.cookie的内容(“vat_1”,null)

到目前为止,我有以下代码:

$(document).ready( function() {
    $('input:checkbox[name="<?php echo $prod; ?>"]').click(function() { 
        var name = $(this).attr("name"); 
        var value = $(this).val(); 
        var date = new Date();
        date.setTime(date.getTime() + (30 * 60 * 1000));

        $.cookie(name, value, { expires: date });//Set the expires time as per your requirement.  
        cookie = $.cookie(name);

        alert(cookie);    
    }) 
});
$(文档).ready(函数(){
$('input:复选框[name=”“])。单击(函数(){
var name=$(this.attr(“name”);
var值=$(this.val();
变量日期=新日期();
date.setTime(date.getTime()+(30*60*1000));
$.cookie(名称、值,{expires:date});//根据需要设置过期时间。
cookie=$.cookie(名称);
警报(cookie);
}) 
});
非常感谢所有的帮助


感谢

为支持加载以前的复选框,请在
文档顶部插入以下代码:

$('input:checkbox').each(function(index) {
    cookie = $.cookie($(this).attr("name"));
    if (cookie == 1) {
        $(this).prop('checked', true);
});
这应该遍历页面上的每个复选框,查找相关cookie,并相应地更改复选框

首先要删除cookie并正确设置它们,您不应该使用复选框的
val()
。相反,您应该查找它的
checked
属性:

$('input:checkbox[name="<?php echo $prod; ?>"]').click(function() { 
    var name = $(this).attr("name"); 
    var value = $(this).prop('checked'); 
    var date = new Date();
    date.setTime(date.getTime() + (30 * 60 * 1000));

    if (value) {
        $.cookie(name, 1, { expires: date });
    } else {
        $.cookie(name, null);
    }

    cookie = $.cookie(name);

    alert(cookie);    
})

您可以使用的另一个功能是会话。但你也可以创造自己的价值。例如tax=1或0,而不是从复选框本身设置值。所以,您只需检查是否已检查,如果已检查,则设置tax=1。
$(document).ready( function() {
    //first code above
    //second code above
});