2011-06-14 2 views
0

트리보기 또는 ctaegory 및 항목보기와 같이 각 행에 중첩 된 중계기와 확인란이 있습니다. 각 항목을 선택/선택 취소하여 범주를 선택/선택 취소하십시오. 제안 사항이 있으십니까? 고마워,asp.net 확인란 및 중첩 된 중계기

+0

몇 가지 예제 코드가 있습니다. 도움? – John

+0

JS- f.ex에서 가장 잘 될 것이라고 생각합니다. jQuery. 그런 다음 각 확인란마다 변경 사항을 적용 할 수 있습니다. 자녀와 동일한 작업을 수행 할 수 있습니다. – ub1k

+1

이 글의 아이디어 얻기 http://stackoverflow.com/questions/1220715/creating-a-nested-repeater-control-dynamically/1220836# 1220836 –

답변

0

나는 이것을 간단한 JavaScript로 해 봤다. 기본적으로 리피터를 바인딩 할 때 CategoryId를 체크 박스의 체크 이벤트에 지정합니다 (예 :

onchange="SelectCategory('<%# Eval("CategoryID") %>')" 

자녀 항목 ID는 카테고리 ID, 예를 들어,로 끝나는와 사업부에 감싸했다

<div ID="divItems'<%# Eval("CategoryID") %>'">...</div> 

이 그 아이를 통해

itemsDiv = document.GetElementById("divItems" + catId); 

루프를 수행하여 당신은 당신의 SelectCategory CATID() 함수에서 찾을 수 있습니다 및 항목 확인 : 더 나은 jQuery로

var items = itemsDiv.getElementsByTagName('INPUT'); 
for (var i=0; i < items.length; i++) { 
     if (collection[i].type.toUpperCase() == 'CHECKBOX') 
      collection[i].checked = true; // or even "= CategoryCheckbox.checked" 
    } 

을 :

$('#divItems' + catId).find(':checkbox').attr('checked', 'checked'); 
+0

asp : CheckBox 컨트롤 (서버 쪽 서버)에서 제대로 작동해야합니다. 참고해야 할 점은 해당 컨트롤의 클라이언트 쪽 ID가 예상 한 것과 다를 수 있습니다. 보기 원본을보고 무슨 뜻인지 확인하십시오. – Tsar

+0

당신의 도움을 위해 10x, 나는 그것을 약간 바꿔야했지만 아주 좋았습니다! – DubiOO