2012-04-17 10 views
0

jQueryを使用してXMLデータでselect要素を作成しました。私は今、そのselect要素内の特定の要素に割り当てられた情報を、別のdiv領域に表示する方法を見つけようとしています。これまでのコードの例を次に示します。jQuery/XMLを使用して特定の情報を表示

$('.selectspeak').live('change', function() { 

       $("#mainOutput").empty(); 

       $(g_playDOM).find("SPEECH").each(function(){ 

        var speaker = $(".selectspeak").val(); 
        var line = $(this).find("LINE").text(); 

       $("#mainOutput").append("<div class='speakerClass'>" + "Speaker: " + speaker + "<br />" + " <div class='speakerClassLine'>" + "<br />" + "Line: " + line + "</div>"); 

      }); 

}); 

上記のコードは、基本的には、スピーカーデータで選択タグにデータを入力しますが、問題はありません。しかし、スピーカーを選択すると、スピーカーに割り当てられたデータではなく、通常のようにデータが表示されます。割り当てられた情報だけがスピーカーの選択時に表示されるようにするにはどうすればよいですか?

私は数時間前からこのナッツをひどく進展させようとしてきましたが、進歩はほとんどありませんでした。正しい方向への動きは素晴らしいでしょう。 :-)

ありがとうございました!

更新:ライブプロジェクトへのリンクを追加しました。ちょうど左のプレイを選択すると、私は右手側で話している選択要素を見ることができます。ありがとう。

http://scmweb.infj.ulst.ac.uk/~B00351504/COM601/assignment_2/siab.html

第二更新:要求されたとして、XMLの

一部の行:

<PLAY> 
<TITLE>The Merchant of Venice</TITLE> 
<FM> 
<P> 
ASCII text placed in the public domain by Moby Lexical Tools, 1992. 
</P> 
<P>SGML markup by Jon Bosak, 1992-1994.</P> 
<P>XML version by Jon Bosak, 1996-1999.</P> 
<P> 
The XML markup in this version is Copyright © 1999 Jon Bosak. This work may freely be distributed on condition that it not be modified or altered in any way. 
</P> 
</FM> 
<PERSONAE> 
<TITLE>Dramatis Personae</TITLE> 
<PERSONA>The DUKE OF VENICE.</PERSONA> 
<PGROUP> 
<PERSONA>The PRINCE OF MOROCCO</PERSONA> 
<PERSONA>The PRINCE OF ARRAGON</PERSONA> 
<GRPDESCR>suitors to Portia.</GRPDESCR> 
</PGROUP> 
<PERSONA>ANTONIO, a merchant of Venice.</PERSONA> 
<PERSONA>BASSANIO, his friend, suitor likewise to Portia.</PERSONA> 
<PGROUP> 
<PERSONA>SALANIO</PERSONA> 
<PERSONA>SALARINO</PERSONA> 
<PERSONA>GRATIANO</PERSONA> 
<PERSONA>SALERIO</PERSONA> 
<GRPDESCR>friends to Antonio and Bassanio.</GRPDESCR> 
</PGROUP> 
<PERSONA>LORENZO, in love with Jessica.</PERSONA> 
<PERSONA>SHYLOCK, a rich Jew.</PERSONA> 
<PERSONA>TUBAL, a Jew, his friend.</PERSONA> 
<PERSONA>LAUNCELOT GOBBO, the clown, servant to SHYLOCK.</PERSONA> 
<PERSONA>OLD GOBBO, father to Launcelot.</PERSONA> 
<PERSONA>LEONARDO, servant to BASSANIO.</PERSONA> 
<PGROUP> 
<PERSONA>BALTHASAR</PERSONA> 
<PERSONA>STEPHANO</PERSONA> 
<GRPDESCR>servants to PORTIA.</GRPDESCR> 
</PGROUP> 
<PERSONA>PORTIA, a rich heiress.</PERSONA> 
<PERSONA>NERISSA, her waiting-maid.</PERSONA> 
<PERSONA>JESSICA, daughter to SHYLOCK.</PERSONA> 
<PERSONA> 
Magnificoes of Venice, Officers of the Court of Justice, Gaoler, Servants to Portia, and other Attendants. 
</PERSONA> 
</PERSONAE> 
<SCNDESCR> 
SCENE Partly at Venice, and partly at Belmont, the seat of PORTIA, on the Continent. 
</SCNDESCR> 
<PLAYSUBT>THE MERCHANT OF VENICE</PLAYSUBT> 
<ACT> 
<TITLE>ACT I</TITLE> 
<SCENE> 
<TITLE>SCENE I. Venice. A street.</TITLE> 
<STAGEDIR>Enter ANTONIO, SALARINO, and SALANIO</STAGEDIR> 
<SPEECH> 
<SPEAKER>ANTONIO</SPEAKER> 
<LINE>In sooth, I know not why I am so sad:</LINE> 
<LINE>It wearies me; you say it wearies you;</LINE> 
<LINE>But how I caught it, found it, or came by it,</LINE> 
<LINE>What stuff 'tis made of, whereof it is born,</LINE> 
<LINE>I am to learn;</LINE> 
<LINE>And such a want-wit sadness makes of me,</LINE> 
<LINE>That I have much ado to know myself.</LINE> 
</SPEECH> 
+0

ここでjsfiddle.netの例を参考にしてください。 –

+0

私たちはXMLのいくつかの行も見たいと思っています。 –

答えて

0

私はあなたが選択した "SPEECH" の項目をフィルタリングするために持っていると思います。

$('.selectspeak').live('change', function() { 

       $("#mainOutput").empty(); 

       $(g_playDOM).find("SPEECH").each(function(){ 

        var speaker = $(".selectspeak").val(); 
        //I'm checking if this 'SPEECH' is by "SPEAKER" 
        if($(this).find("SPEAKER").text()==speaker){ 


        var line = $(this).find("LINE").text(); 
        $("#mainOutput").append("<div class='speakerClass'>" + "Speaker: " + speaker + "<br />" + " <div class='speakerClassLine'>" + "<br />" + "Line: " + line + "</div>"); 
        } 



      }); 

});​ 

ここで、選択した「スピーチ」項目が「スピーカー」であるかどうかを確認しました。

+0

しかしXPathのようなものを使うことができればいいです。その大きなXMLを読み込むのに時間がかかりました!私はそれが動作していないと思った! [リンク] http://www.w3schools.com/xpath/xpath_intro.asp –

+0

エージェントミリンインドに感謝しています。それは仕事をしたようです。そしてそれはとても上品な解決策です。 XPathの提案もありがとう、私はこれに同意します。私の講師はXMLを設定しましたが、ロードに時間がかかりすぎることがあります。ありがとうございました。 –

関連する問題