0

编辑:我自己在这个解决方案上使用 JSON 做了更多的工作,而不是在这里编辑问题,我决定重写它并在这里更清楚https://stackoverflow.com/questions/18866952/add-remove-values -from-json-string-and-save-to-a-cookie

我有一个项目需要设置一个具有不同值的 cookie,这些值classes来自一个input复选框。

我有一个工作一半的演示在这里 http://jsfiddle.net/chFCx/7/

我想做的事

  1. 我只能使用 1 个 cookie filteredName,因为我需要在页面加载时从中读取 - 请参阅第 4 点。
  2. 当我取消选中一个复选框时,我希望将输入字段的类名添加到 cookie 中(我在演示中这样做,但我一次只能保存一个值)
  3. 当我选中复选框时,我希望现在从 cookie 中删除该输入字段的类名。
  4. 当我刷新页面时,我希望取消选中 cookie 中的复选框。

我假设它需要是 cookie 保存的某种 Json 字符串或数组,这就是我遇到问题的地方,需要在这里询问专业人士。

到目前为止,我的 JS 如下,但最好查看演示以获取更多上下文。

// Add or Remove Cookie On Change Function
$("input[type=checkbox]").change(function(){
    var cookieValue = $.cookie("filteredName"); // for display purposes only
    var checkedClass = $(this).attr('class');

    if ($(this).prop('checked')) {
        // if checkbox is checked remove checkedClass from cookie
        $('input[type=text].cookieValue').val(cookieValue);  // for display purposes only

    } else {
        // if checkbox is un-checked add checkedClass to cookie
        $.cookie('filteredName', checkedClass, { path: '/' });
        $('input[type=text].cookieValue').val(cookieValue);  // for display purposes only
    }
});
$('input[type=text].cookieValue').val(cookieValue);
// On Page load set checkboxes with class names in cookie to hide checkbox

// Read Cookie
// For each class name in Cookie .prop('checked' true);

编辑:我自己在这个解决方案上使用 JSON 做了更多的工作,而不是在这里编辑问题,我决定重写它并在这里更清楚https://stackoverflow.com/questions/18866952/add-remove-values -from-json-string-and-save-to-a-cookie

4

0 回答 0