2013-10-21 2 views
-1

안녕하세요. 입력란이 여러 가지이며 확인란 중 일부가있는 표가 있습니다.문서 시작시 jQuery 숨기기 확인란을 선택하지 않은 경우

제한된 사용자로 3 개의 확인란을 선택했지만 다른 확인란을 편집 할 수 있습니다. 그러나 페이지로드시에는 확인 된 확인란 만 표시하고 다른 확인란은 숨기려고합니다. 그래서 기본적으로 "contact_numbers"라는 테이블 행이 숨겨져 있는지 확인해야합니다.

나는 이것을 페이지로드시에하고 클릭시에하지 않기를 원하지만 이것에 약간의 어려움이있다. 누군가가 올바른 방향으로 나를 가리킬 수 있다면 그것은 좋을 것입니다!

내 코드는 다음과 같습니다 또는 jsfiddle

$(document).ready(function() { 
    if ($('.contact_no').attr('checked')) { 
     $(this).closest('.contact_numbers').show() 
    } else { 
     $(this).closest('.contact_numbers').hide() 
    } 
    $("input[class='contact_no']").change(function() { 
     var maxAllowed = 3; 
     var cnt = $("input[class='contact_no']:checked").length; 
     if (cnt > maxAllowed) { 
      $(this).prop("checked", ""); 
      alert('Select ' + maxAllowed + ' telephone numbers, uncheck one box to check another!'); 
     } 
    }); 
    $("#add").click(function() { 
     $(".contact_numbers:hidden:first").fadeIn("slow"); 
    }); 
    $(".contact_numbers").on('click', '.remove', function() { 
     $(this).closest('.contact_numbers').hide() 
    }); 
}); 
+1

문제를 재현하는 데 필요한 최소한의 코드로 데모를 줄 이세요. 우리는 * 모든 것을 볼 필요가 없습니다. (관련성이있는 것들을 해결해야한다면 적극적으로 방해가됩니다.) 최소한의 관련성있는 [SSCCE] (http://sscce.org/), 필요한 코드 만 게시하여 도와 드리겠습니다. –

답변

1

이 시도 참조하십시오 this fiddle

+0

@ Karthir 덕분에 이것이 내가 찾고있는 대답이라고 생각합니다! – 001221

+0

이 작업을 수행하는 데는 많은 부분이 있지만이 작업은 사용자가 시도한 작업과 가장 비슷합니다. 그것이 도움이 되었다니 다행 :) – karthikr

0

사용할 수

$('.contact_no').each(function() { 
     $this = $(this); 
     if ($this.is(':checked')) { 
      $this.parents('tr.contact_numbers').show() 
     } else { 
      $this.parents('tr.contact_numbers').hide() 
     } 
    }); 

확인 .not() 선택

$('.contact_no:not(:checked)').closest('.contact_numbers').hide(); 

Working Demo

관련 문제