2011-09-15 23 views
0

助けてください。グーグルでこれを数日間流しているので、私のことを聞いてください。私はドロップダウンから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ファイルを持っています選択したMasterEventに関連するすべてのイベントが表示されたら、競技者のリスト(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のリストをすべて取得しますが、これは許されません。最初のドロップダウンから選択した値は2番目のドロップダウンの結果をフィルタリングし、最終結果は2つのドロップダウンに基づいて、またはフィルタリングされたCompetitorNameのリストになります - ありがとう – sal

関連する問題