티스토리 뷰
selectbox와 쿠키 사용하기 with jquery
셀렉트 박스에서 선택한 값으로 타겟의 옵션이 바뀌어지고 브라우저를 새로고침하거나 껐다가 켜도 쿠키로 유지하고 싶을때
setCookie와 getCookie 함수로 만들어서 구워내는 놈, 쿠끼꺼내는 놈 만들기
function setCookie(cName, cValue, expiredays) { var today = new Date(); today.setDate( today.getDate() + expiredays ); document.cookie = cName + "=" + escape( cValue ) + "; path=/; expires=" + today.toGMTString() + ";" } function getCookie() { // userid 쿠키에서 id 값을 가져온다. var cook = document.cookie + ";"; var key = 'hcn_total_dashbd'; var idx = cook.indexOf(key, 0); var val = ""; if(idx != -1) { cook = cook.substring(idx, cook.length); begin = cook.indexOf("=", 0) + 1; end = cook.indexOf(";", begin); val = unescape( cook.substring(begin, end) ); } // 가져온 쿠키값이 있으면 if(val!= "") { $("#interval_time").val( val ); }else{ $("#interval_time").val( 3 ); } }
실무 사용 코드
셀렉트 박스에서 선택한 값으로 타겟의 옵션이 바뀌어지고 브라우저를 새로고침하거나 껐다가 켜도 쿠키로 유지가 된다.
<html> <head> <meta charset='UTF-8' /> <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script> </head> <body> 시간선택하면 쿠키에 저장되는 기능 <select id="interval_time" name='interval_time'> <option value='3'>3초</option> <option value='10'>10초</option> <option value='30'>30초</option> <option value='60'>1분</option> <option value='300'>5분</option> </select> <p>롤링타임: <time>00</time></p> <script> var _rolling_interval = 10; $(document).ready(function(){ //////////////////////////////////////// function setCookie(cName, cValue, expiredays) { var today = new Date(); today.setDate( today.getDate() + expiredays ); document.cookie = cName + "=" + escape( cValue ) + "; path=/; expires=" + today.toGMTString() + ";" } function getCookie() { // userid 쿠키에서 id 값을 가져온다. var cook = document.cookie + ";"; var key = 'hcn_total_dashbd'; var idx = cook.indexOf(key, 0); var val = ""; if(idx != -1) { cook = cook.substring(idx, cook.length); begin = cook.indexOf("=", 0) + 1; end = cook.indexOf(";", begin); val = unescape( cook.substring(begin, end) ); } // 가져온 쿠키값이 있으면 if(val!= "") { $("#interval_time").val( val ); _rolling_interval = val; }else{ $("#interval_time").val( _rolling_interval ); } } getCookie(); $("#interval_time").change(function(e){ var _rolling_interval = $(this).val(); setCookie("hcn_total_dashbd", _rolling_interval, 7); $("time").text( _rolling_interval ); }); $("time").text( _rolling_interval ); //////////////////////////////////////// }); </script> </body> </html>
selectbox와 쿠키 사용하기 with jquery
'■ 프론트엔드 ■ > JavaScript' 카테고리의 다른 글
js에서 Trim, Ltrim, Rtrim 확장하여 사용하기 (0) | 2016.07.29 |
---|---|
Object.length 메서드 확장하여 사용하기 (0) | 2016.07.29 |
HTML Table을 엑셀로 내보내기 : Export to excel sheet on client side (11) | 2015.04.02 |
정규식 (1) | 2015.02.05 |
변수에 함수를 할당 (0) | 2014.05.09 |
댓글