2012-09-30 59 views
0

即時通訊工作在一個簡單的待辦事項列表。我將任務存儲在cookie中,當網頁重新加載時,我從cookie中檢索我以前的任務。不過,我無法在那裏保存完成的任務,即我標記爲完成的任務。如何從cookie中檢索指定的數據? JQuery

function toHTML(id, text) { 

    return '<div class="todo" id="' + id + '">' + 
     '<div id="' + cbid + '"><input type="checkbox" class="check_todo" name="check_todo"/></div>' + 
     '<div class="todo_description" contentEditable = "true">' + 
      text + 
     '</div>' + 
     '<img src = "sun-icon.gif" class="close" title = "Delete the Task" />' + 
    '</div>'; 
} 

當我按下複選框與類的div =「待辦事項」獲取類=「檢查」和這個div內的文本(todo_description)變爲劃線,還帶有class =「待辦事項」本身得到另一種顏色的DIV 。

$('#item-' + counter +' .check_todo').unbind('click'); 
    $('#item-' + counter +' .check_todo').click(function() { 
     var todo = $(this).parent().parent(); 
     todo.toggleClass('checked'); 

    }); 

當我重新加載頁面我看到我以前的工作,但尚未完成的任務,因爲我是從餅乾只是文本檢索:

function get_cookies_array(){ 

     var cookies = { }; 
     if (document.cookie && document.cookie != '') { 

      var split = document.cookie.split(';'); 
      for (var i = 0; i < split.length; i++) { 
       var name_value = split[i].split("="); 
       name_value[0] = name_value[0].replace(/^ /, ''); 
       cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]); 
      } 
     } 
     return cookies; 
    } 

//這裏我展示我的任務

var cookies = get_cookies_array(); 
     var i = 0; 
     for(var name in cookies) { 
      $('.todo_list').prepend(toHTML('item-' + (i++), cookies[name])); 
      } 

我試圖檢查類「檢查」,如 if $(cookies[name]).hasClass('checked') { make stylings for this div} 但這不起作用,我需要檢查class =「todo」的div,它變成當我按複選框時,「todo checked」。

我會appriciate如果有人可以幫助我!

回答

0

,如果你想檢查是否複選框被選中,你可以嘗試:

$('#id_checkbox').is(':checked'); 

,如果你想獲得你的cookie無需重新加載你的頁面,您可以設置和cookiees

的get之間的setTimeout