2010-05-21 3 views
1

ASP MVC 웹 응용 프로그램이 있고 페이지 중 하나에 하위 체크 박스가있는 기본 체크 박스 세트가 있습니다. 하위 체크 박스는 해당 메인 체크 박스가 선택되었을 때만 나타나야합니다. 다음 코드는 페이지가로드 될 때 체크 박스가 선택되지 않는 한 올바르게 작동합니다.jQuery는 페이지로드시 체크 박스 값을 기반으로 표시합니다.

$("input[id$=Suffix]").change(function() { 

     prefix = this.id; 

     if (!$(this).hasClass("checked")) { 
      $("tr[id^=" + prefix + "]").show(); 
      $(this).addClass("checked"); 
     } 
     else { 
      $("tr[id^=" + prefix + "]").hide(); 
      $(this).removeClass("checked"); 
     } 
    }); 

이제 기본 체크 박스의 값을 데이터베이스에서 확인해야합니다. 값을 얻고 페이지로드시 상자를 확인할 수 있습니다. 그러나 페이지가 나타나면 기본 체크 박스가 선택되었을 때 하위 체크 박스가 표시되지 않습니다.

또한 페이지가로드 될 때 주 확인란이 선택되면 하위 체크 박스는 기본 chcekbox가 선택 취소 된 경우에만 표시됩니다 (분명히 위 기능은 .change()에서만 작동하기 때문).

나는 무엇을 제안하려고합니까? 추가 설명이 필요하면 언제든지 물어보십시오.

편집 : 그것은 처음에 발사하지 그래서 귀하의 기능을 단 하나의 변화에 ​​호출되는

+0

데이터베이스에서 확인 된 값을 얻고 기본 체크 박스를 설정하는 방법은 무엇입니까? AJAX 전화와 DOM? 아니면 asp scriplets? – edl

+0

그냥 모델 (LINQ to SQL)을 사용하여 데이터베이스를 확인한 다음 내 컨트롤러에서 ViewData를 설정합니다. –

+0

"부모"확인란이 선택되었는지 또는 렌더링시 서버 측이 아닌지에 대한 정보가 있으므로 올바른 (보이는 또는 숨겨진) 상태로 "하위 확인란"을 렌더링하지 말고 클라이언트 쪽에서 트리거할까요? – R0MANARMY

답변

1

BTW,이 모든 $에 (문서) .ready(). 확인란을 선택하기 위해 페이지가로드 될 때도 실행되는 항목이 필요하며 하위 항목이 표시됩니다.

여기에 변경 이벤트를 추가하는 대신 페이지가로드 될 때 각각에 대해 update를 호출하는 의미의 예제가 있습니다. 이 코드는 정확하지 않을 수 있습니다. 지금은 테스트 할 시간이 없지만 전반적인 아이디어를 얻어야합니다. 저는 MooTools 녀석입니다. jQuery가 정확하지 않다면 저를 용서해주십시오.

+0

아주 멋져 보이지만 전혀 작동하지 않습니다. 나는 계속 그걸로 어지럽히고 내가 얻을 수있는 곳을 보게 될 것입니다. 내가 해결책을 찾으면 게시 할 것입니다. 참고로 el.change()가 함수가 아니라는 오류가 발생합니다. –

+0

조금 더 연주하고 재배치 한 후 작동 시켰습니다. 누군가 최종 코드를 원하면 알려주세요. –

+0

죄송합니다. 제 jQuery 구문이 최선이 아니라고 말씀 드렸습니다. 초기 게시물에 작업 코드를 게시하면 업데이트됩니다. 당신이 듣고있어 기뻐요! –

관련 문제