2012-09-27 7 views
1

나는 현재 간단한 할 일 목록을 만들고 있는데, 나는 쿠키에 문제가있다. $.cookie(todoDescription+1, todoDescription); 줄을 제거하면 작업 추가 단추가 작동하고 새 작업이 목록에 추가됩니다. 하지만 웹 페이지에서이 줄을 깜박이면 아무 일도 일어나지 않습니다.쿠키, JQuery, Javascript를 사용하는 방법?

$(document).ready(function() { 

    showCookies();   // to show previous tasks when page is reloaded 
    var all =0; 

     $('#add_todo').click(function() {     // button that adds a task 

     var cookies = get_cookies_array() ; 

     var todoDescription = $('#todo_description').val(); // string from textinput 
      var mykey = todoDescription + 1;   //i jst decided to have such key 

     $.cookie(todoDescription+1, todoDescription);  //this line doesnt work! 

      //add task 
      $('.todo_list').prepend(
      '<div class="todo">' 
       + '<div>' 
        + '<input type="checkbox" id = "cb" class="check_todo" name="check_todo"/>' 
       + '</div>' 

       + '<div class="todo_description" contentEditable = "true">' 
        + todoDescription 
       + '</div>' 

       +'<div id = "delete">' +'<input id = "x" type = "submit" value = "X" onclick = "$.cookie('todoDescription+1',null);$(this).parent().parent().remove();"/>'+ '</div>' 
      +'</div>'); 

      return false; 



     }); //end add todo 



    }); 

    function showCookies() 
    { 

    var cookies = get_cookies_array() ; 
     for(var name in cookies) { 
     if(name == cookies[name]+1){ 
      $('.todo_list').prepend(
      '<div class="todo">' 
       + '<div>' 
        + '<input type="checkbox" id = "cb" class="check_todo" name="check_todo"/>' 
       + '</div>' 

       + '<div class="todo_description" contentEditable = "true">' 
        + cookies[name] 
       + '</div>' 

       +'<div id = "delete">' +'<input id = "x" type = "submit" value = "X" onclick = "$.cookie('name',null);$(this).parent().parent().remove();"/>'+ '</div>' 
      +'</div>'); 
     } 
     } 

    } 
    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; 
    } 

나를 도와 주시면 감사하겠습니다.

+0

방화범 소리는 무엇이라고 말합니까? –

답변

1

는 다음의 jQuery 쿠키의 사용 방법에 대한 설명입니다

세션 쿠키 만들기 :

$.cookie('the_cookie', 'the_value'); 

7 일 다음에서, 만료 쿠키 만들기 :

$.cookie('the_cookie', 'the_value', { expires: 7 }); 

이 만료되는 쿠키, 유효한에서 만들기를 전체 사이트 :

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 

읽기 쿠키 :

$.cookie('the_cookie'); // => "the_value" 
$.cookie('the_cookie', { raw: true }); // => "the_value" not URL decoded 
$.cookie('not_existing'); // => null 

삭제 쿠키 :

// returns false => No cookie found 
// returns true => A cookie was found 
$.removeCookie('the_cookie'[, options]); 

참고 : 쿠키를 삭제할 때, 당신은 동일한 경로, 도메인과 쿠키를 설정하는 데 사용 된 보안 옵션,하지 않는 한을 통과해야합니다 당신은 기본 옵션에 의존합니다.

관련 문제