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()에서만 작동하기 때문).
나는 무엇을 제안하려고합니까? 추가 설명이 필요하면 언제든지 물어보십시오.
편집 : 그것은 처음에 발사하지 그래서 귀하의 기능을 단 하나의 변화에 호출되는
데이터베이스에서 확인 된 값을 얻고 기본 체크 박스를 설정하는 방법은 무엇입니까? AJAX 전화와 DOM? 아니면 asp scriplets? – edl
그냥 모델 (LINQ to SQL)을 사용하여 데이터베이스를 확인한 다음 내 컨트롤러에서 ViewData를 설정합니다. –
"부모"확인란이 선택되었는지 또는 렌더링시 서버 측이 아닌지에 대한 정보가 있으므로 올바른 (보이는 또는 숨겨진) 상태로 "하위 확인란"을 렌더링하지 말고 클라이언트 쪽에서 트리거할까요? – R0MANARMY