2011-09-15 4 views
0

도와주세요. 인터넷 검색 및 stackoverflowing 며칠 동안, 제발 내게 들려주세요. 내가 드롭 다운에서 MasterEvent을 선택하면jquery를 사용하여 xml을 반복하고 각 부모 노드의 자식 노드를 표시하십시오.

<Sports> 
     <MasterEvents MasterName="KungFu" Time="15 Sept 2011"> 
      <Event EventID="1" EventName="Event1"> 
      <Competitor CompetitorName="New Zealand" BetID="1"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      </Event> 
     </MasterEvents> 

     <MasterEvents MasterName="Karate" Time="15 Sept 2011"> 
      <Event EventID="1" EventName="Karate Event1"> 
      <Competitor CompetitorName="New Zealand" BetID="1"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      </Event> 

      <Event EventID="2" EventName="Karate Event2"> 
      <Competitor CompetitorName="New Zealand" BetID="2"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      </Event> 

      <Event EventID="3" EventName="Karate Event3"> 
      <Competitor CompetitorName="New Zealand" BetID="3"> 
       <BetType BetTypeName="Curved" Price="1.00" /> 
      </Competitor> 
      </Event> 
     </MasterEvents> 

     <MasterEvents MasterName="Judo" Time="15 Sept 2011"> 
      <Event EventID="1" EventName="Event1"> 
      <Competitor CompetitorName="Brazil" BetID="1"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      <Competitor CompetitorName="Fiji" BetID="1"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      <Competitor CompetitorName="US" BetID="1"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      <Competitor CompetitorName="Alabama" BetID="1"> 
       <BetType BetTypeName="Straight" Price="1.00" /> 
      </Competitor> 
      </Event> 
     </MasterEvents> 
    </Sports> 

무엇을 달성하려고하는 것은, 새로운 드롭 다운 목록을 할 나타납니다 드롭 다운에 모든 MasterEvents을 얻을 수 있습니다 :

나는 xml 파일이 선택한 마스터 이벤트와 관련된 모든 이벤트가 있으면 경쟁 업체 목록 (CompetitorName, Bettype, Price)이 표시됩니다.

XML과 JQuery를 시작한 이래로 꽤 복잡합니다. 너희들이 불을 피울 수 있다면 감사하게도.

감사합니다.

답변

0

하지 전체 작업 예제하지만 당신은 아이디어 여기

$("#btn").click(function(){  
     xmlDoc = $.parseXML(xml), 
     $xml = $(xmlDoc);   


     $($xml).find("Sports").each(function(index,j){ 
      $(this).find("MasterEvents").each(function(i,j){ 
     var txt = $(this).attr("MasterName"); 
     $("<option/>").text(txt).appendTo("select"); 
      });  

     }); 
    }); 

를 얻을 수는 바이올린 http://jsfiddle.net/BajVk/1/

+0

첫 번째 드롭 다운 메뉴에서 선택할 때 내가 첫 번째 드롭 다운에 모든 MasterEvents을 넣을 수 있었다, 그러나 , 나는 없어야하는 CompetitorName의 모든 목록을 얻습니다. 첫 번째 드롭 다운에서 선택한 값은 두 번째 드롭 다운에 대한 결과를 필터링해야하며 최종 결과는 CompetitorName 목록을 기반으로하거나 두 개의 드롭 다운으로 필터링됩니다. - 감사합니다. – sal

관련 문제