2014-06-11 2 views
0

localStorage 안에 체크 박스 값을 저장하는 데 어려움이 있습니다. 여기에 대한 주제를 찾았지만 여전히 문제가 있습니다. http://jsfiddle.net/remibenault/Dp4Tj/8/localStorage에 체크 박스 값을 저장하는 방법은 무엇입니까?

:

$(function() { 
    var data = localStorage.getItem("showning"); 
    if (data !== null) { 
     $("input[name='switch_show']").attr("checked", "checked"); 
    } 
}); 

$("input[name='switch_show']").click(function() { 

    if ($(this).is(":checked")) { 
     localStorage.setItem("showning", $(this).val()); 
    } else { 
     localStorage.removeItem("showning"); 
    } 
}); 

그것의 jsfiddle 링크가 있습니다 : 내 주요 스크립트의

<div id="displayer_show"> 
    <div class="demo" id="labels2-3"> 
     <input name="switch_show" type="checkbox" value="1" checked/> 
    </div> 
</div> 

그리고 부분 : 여기

체크 박스를 만들어 내 HTML의 일부입니다

도움이 될 것입니다.

답변

1

value="1" checked 부분 만 제거하면 문제가 없습니다. 또한 $(this).val()1이어야합니다. 나는 왜 당신이 $(this).val()이라고 부르는 지 잘 모르겠다.

http://jsfiddle.net/prankol57/Dp4Tj/9/

+0

오 당신에게 많이 감사합니다, 나는 JQuery와에 새로 온 사람과 Javascript와 나는 아직도 어려움을 겪었습니다. 여러개의 스크립트가 항상 작동하지 않는다 =) – remibenault

1

편집 다음과 같이 스크립트 :

$(function() { 
    var data = localStorage.showning; 
    $("input[name='switch_show']") 
    .prop('checked',data=='true') 
    .change(function() { 
     localStorage.showning = $(this).prop("checked"); 
    }); 
}); 

을 문제는 그 체크 박스가 기본적으로 선택되어 있으며, 당신이

+0

jsfiddle에서 스크립트를 시험해 보았지만 제대로 작동하지만 @soktinpk 대답으로 내 스크립트에서는 작동하지 않습니다. – remibenault

관련 문제