2011-09-16 4 views
0

나는 여기에 구글지도에서 날짜별로 마커를 필터링 할 jQuery를 Dynatree의 체크 박스를 사용하고 있습니다 : http://crocdoc.ifas.ufl.edu/projects/chameleonmapdev/개체 내부의 개체를 구문 분석하여 특정 속성의 배열을 가져 옵니까?

체크 박스를 특정 날짜가 잘 작동을 위해,하지만 난 최선 월 체크 박스/숨기기 표시되도록하는 방법을 알아내는 데 문제가 있어요 모든 적절한 마커. 내가 날짜 체크 박스에 붙일 수있는 일종의 onChange 이벤트 (부모 체크 박스가 있으면 체크/체크하지 않기 때문에)를 원했지만 문서 (http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html#h5.1)에서 그런 것을 찾을 수없는 것 같습니다. onSelect 함수를 사용하고 있는데, 부모 달을 선택하면 날짜를 자동으로 타겟팅하지 않습니다. 폴더를 체크/체크하지 않으면 모든 자식들의 키 배열을 얻고 싶습니다. 지금까지 모든 자식을 설명하는 객체를 검색 할 수 있지만 키가 객체 내부의 객체에 있기 때문에 구문 분석 방법을 잘 모르겠습니다.

 onSelect: function(select, node) { 
     console.log('isFolder: '+node.data.isFolder); 
     if (node.data.isFolder === true) { 
      console.log(node.data.children); 
       //Parse node.data.children to get array of child keys 

     } else { 

      if (select === false) { 
       for (g in marker_container[node.data.key]) { 
        marker_container[node.data.key][g].setMap(null); 
       } 
      } 
      if (select === true) { 
       for (g in marker_container[node.data.key]) { 
        marker_container[node.data.key][g].setMap(map); 
       } 

      } 

     } 
     } 

node.data.children 반환 : 어떤 힌트를 크게 감사합니다

[Object { title="July 12, 2011", select=true, key="July1211"}, Object { title="July 14, 2011", select=true, key="July1411"}, Object { title="July 26, 2011", select=true, key="July2611"}, Object { title="July 27, 2011", select=true, key="July2711"}, Object { title="July 28, 2011", select=true, key="July2811"}] 

. 그리고이 코드를 전반적으로 개선하는 방법에 대한 제안은 매우 열려 있습니다.

답변

0

구문 분석은 여기에 맞는 용어가 아닙니다. 로그에서 볼 수있는 것은 객체를 설명하는 문자열이지만 구문 분석 할 필요가 없습니다. 쉼표로 구분 된 객체를 묶는 괄호 []node.data.children이 자식 객체를 포함하는 배열임을 나타냅니다. 각 객체에는 'key'라는 속성이 있습니다.이 배열은 다음과 같이 배열을 반복하여 얻을 수 있습니다.

if (node.data.isFolder === true) { 
    var keys = []; 
    for (var i = 0; i<node.data.children.length; i++){ 
     keys[i] = node.data.children[i].key; 
    } 
} 
+0
+0

@petroica 예, 물론 '길이'가 제 예제에서 누락되었습니다. 실수로 복사하여 붙여 넣기로 제거했습니다. – Kapep

관련 문제