2015-05-15 35 views
0

我在數據表中多個複選框與一個名字和不同的價值觀,我可以存儲的cookie中通過下面的代碼檢查了所有複選框到期,點擊按鈕,複選框餅乾

$(document).ready(function(){ 
      $('input[type=checkbox]').each(function() { 
    var mycookie = $.cookie($(this).attr('value')); 
    if (mycookie && mycookie == "true") { 
     $(this).prop('checked', mycookie); 
    } 
}); 
$('input[type=checkbox]').change(function() { 

    var date = new Date(); 

    var uncheckDate = new Date(); 

    // to expire cookies after one day if checked 
    date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000)); 

    // to expire cookies after 1 seconds if unchecked 
    uncheckDate.setTime(date.getTime() + (1 * 1000)); 

    $.cookie($(this).attr("value"), $(this).prop('checked'), { 
    path: '/', 
    expires: date 
    }); 

    $.cookie($(this).attr("value"), $(this).prop('unchecked'), { 
    path: '/', 
    expires: uncheckDate 
    }); 
    }); 
}); 

而且我可以到期的cookie每個複選框,如果未選中

但我需要使用按鈕,例如expireButton過期所有選中的複選框。

我該如何做到這一點?

有什麼建議嗎?

回答

1

您可以嘗試如下:

$('.expireButton').on('click',function() 
{ 
    var uncheckDate = new Date(); 
    uncheckDate.setTime(date.getTime() + (1 * 1000)); 
    $.each($('input[type=checkbox]:checked'),function(){ //Get all the checked checkbox 
     $.cookie($(this).attr("value"), { 
       path: '/', 
       expires: uncheckDate 
     }); 
    }); 
}); 
+0

感謝古魯普拉薩德饒你的答案,但是當我點擊了expireButton我看到這個錯誤控制檯,可以幫我請 類型錯誤:無效的「在」操作數OBJ typeof length ===「number」&& length> 0 &&(length - 1)in obj; –

+0

@JustUser ..更新了我的答案..請檢查!你需要在'.each'中使用'$'來獲取所有'checked複選框'作爲'$ .each($('input [type = checkbox]:checked')....' –

+0

謝謝Guruprasad Rao,它是($(this).attr(「value」),$(this).prop('checked',false){......' 再次感謝 –