2012-05-16 3 views
1

확인란의 모양과 실제 확인란을 숨기려면 사용자 정의 이미지를 사용하고 있습니다. 내 양식은 2 부분으로 구성되어 있으므로 체크 상자를 선택하면 양식의 다음 부분/페이지로 이동 한 다음 브라우저의 뒤로 단추를 클릭하면 숨겨진 체크 상자가 계속 선택되지만 이미지/클래스는 다시 설정되므로 체크 박스가 선택되지 않은 것 같습니다.브라우저에서 체크 박스 이미지 재설정 버튼

var $checkStyle = $('<span class="check-style"></span>'), 
    $product  = $('.productBox'), 
    $checkBox  = $('#webform-client-form-18070 .form-checkbox'); 

    $checkBox.hide(); 
    $checkStyle.appendTo('.selectCheck'); 

    $product.click(function(){ 
     var $this  = $(this), 
      $checkSingle = $this.find('.check-style'), 
      $checkbox = $this.find(':checkbox'); 

     $checkSingle.toggleClass('check-style-selected'); 
     $checkbox.attr('checked', !$checkbox.attr('checked')); 
}); 

.check 스타일 선택 클래스는 체크 표시된 체크 박스 이미지를 표시합니다. 브라우저의 뒤로 버튼을 클릭 할 때 해당 클래스를 요소에 유지하려면 어떻게해야합니까?

감사합니다.

답변

1

은 왜 안 :

$(":checkbox").each(function(){ 
    if ($(this).is(":checked") { 
     $(this).addClass("checked") 
    } else { $(this).addClass("unchecked") } 
}) 
+0

덕분에, 더 나은 코드처럼 보이지 않지만, 페이지 내가 언급 한 것보다 더 복잡한 코드는 순간 작동, 나는으로 일을하기 위해 노력하고있어되지 않는다 페이지의 복잡성. 성공했는지 여부를 알려줍니다. – Rick

+0

$ 릭 당신을 환영합니다, 나는 이런 식으로 엄마 웹 사이트 스타일을 가지고 있으며, 이건 나를 위해,'change'를 사용하여 단순히 사용자 정의 확인란을 updat 수 있습니다. – undefined

+0

좋아, 약간의 의견, 확인란을 선택했는지 여부를 확인한 클래스 또는 체크되지 않은 클래스를 추가하는 코드를 추가했습니다. 브라우저 뒤로 버튼을 클릭 한 후 작동하지 않는 이유는 스크립트가 다시 실행되지 않았기 때문입니다. 그래서 나는 1 초의 setTimout에 그것을 감쌌다. 그리고 그것은 지금 일하고있다. 이 단계에서 제가 생각할 수있는 유일한 해결책입니다. – Rick

관련 문제