我正在尝试编写一个脚本,其中一组复选框的未选中值将从 cookie 中删除。我正在使用 jQuery 的 cookie 插件,下面是我当前的函数,当调用复选框时会调用该函数;
<script type="text/javascript">
jQuery(document).ready(function($){
$("input[type=checkbox]").each(function () {
$(this).change(updateCount);
});
updateCount();
function updateCount () {
var val;
var my_cookie
var new_my_cookie;
$(':checkbox:checked').each(function(){
val= $(this).val();
my_cookie=$.cookie("chosen_ones");
$.cookie("chosen_ones", null);
new_my_cookie=my_cookie+"|"+val;
$.cookie("chosen_ones", new_my_cookie);
});
//somehow need to remove values from cookie when unchecked here
var length = $.cookie("chosen_ones").split("|").length;
length=length-1;
$("#count").text(length);
$("#status").toggle(length >= 0);
};
});
</script>
欢迎任何帮助。
最佳答案
不要删除该值。在每个复选框更改中,您只需获取所有选中的复选框(就像现在一样),将它们添加到一个字符串中(或使用 json?),将它们存储在 cookie 中作为“checkedboxes”或其他内容。如果取消选中一个复选框,您可以运行相同的函数,获取所有选中的复选框,保留刚刚取消选中的复选框,并覆盖 cookie 中当前的选中框,不是吗?
//编辑
用 cookie 中的 JSON 对象编写了一个小示例。适用于多个页面:-) http://labs.joggink.be/json-checkbox-cookie/
关于jquery - 如何使用 jQuery 从 cookie 中删除未选中的复选框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573468/