2012-11-28 2 views
0

SharePoint 컨트롤에 의해 생성 된 항목 목록이 있으므로 마크 업을 제어 할 수 없습니다.목록에서 선택되지 않은 항목 숨기기

제가해야 할 유일한 일은 'selected'클래스 인 <li>입니다. 기본적으로 다른 모든 중첩 항목이 표시되지만 부모로부터의 흔적 만 표시하려고합니다. 줄의 일부인 모든 노드에 대해 형제는 표시하지만 자손은 표시하지 않습니다.

내가해야 할 일이 JSFiddle를 참조하십시오 ... http://jsfiddle.net/QLbAS/4/

감사

//logic i think should be 
// get all items in the hierarchy to this particular item 
// for each item in step above check to see if there are sibling nested lists 
// if yes then hide the items 

답변

2

당신을 위해이 일을합니까 :

$(function() { 
    $("li").hide(); 
    $("li.selected").parents("li").andSelf().each(function(index,elem) { 
     $(this).siblings().andSelf().show(); 
    }); 
}); 

fiddle

+0

안녕, 그다지 멀리는 아니야. 나는 생각하지 않는다. 이 예제에서는 선택된 노드에 대해 작동하지만 선택된 노드를 한 레벨 위로 이동하는 경우에는 작동하지 않습니다. – ringo747

+0

@ ringo747 : 나는 그것을 한 레벨 위로 옮기고 셀렉터를 약간 변경했다. (나는'li'과'a' 태그 둘 다'.selected' 클래스를 가졌다. http://jsfiddle.net/QLBAS/8/) 당신이 원한 무엇입니까? –

+0

불행히도 그 중 하나가 작동하지 않습니다. 당신이 그것이 대상으로하고 싶은 li.selected 올바른지. 만약 당신이 있었다면 트리 위쪽의 활성 요소를 선택하려면 해당 노드 아래에 관련 목록 항목을 표시하고 싶습니다. 나쁜 설명을 드려 죄송합니다. 다소 복잡합니다. – ringo747

관련 문제