2013-04-25 40 views
-2

事件,這是我的XSLT文件: -利用javascript XML XSLT設置點擊最後李

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="html" indent="yes" omit-xml-declaration="yes"/> 

    <xsl:template match="*" mode="item"> 
    <li> 
     <xsl:value-of select="@value" /> 
    </li> 
    <xsl:apply-templates select="current()[*]" /> 
    </xsl:template> 

    <xsl:template match="*/*"> 
    <ul> 
     <xsl:apply-templates select="*[1] | node()[current()/ancestor::*[2]]" 
          mode="item" /> 
    </ul> 
    </xsl:template> 
</xsl:stylesheet> 

與此XSLT我已創建HTML標籤ul li
這裏是我的xml文件: -

<?xml-stylesheet href="b.xsl" type="text/xsl"?> 
<root> 
    <child_1 entity_id = "1" value="Game" parent_id="0"> 
    <child_2 entity_id="2" value="Activities" parent_id="1"> 
     <child_3 entity_id="3" value="Physical1" parent_id="2"> 
     <child_6 entity_id="6" value="Cricket" parent_id="3"> 
      <child_7 entity_id="7" value="One Day" parent_id="6"/> 
     </child_6> 
     </child_3> 
     <child_4 entity_id="4" value="Test1" parent_id="1"> 
     <child_8 entity_id="8" value="Test At Abc" parent_id="4"/> 
     </child_4> 
     <child_5 entity_id="5" value="Test2" parent_id="1"> 
     <child_9 entity_id="9" value="Test At Xyz" parent_id="5"/> 
     </child_5> 
    </child_2> 
</child_1> 
</root> 

現在我想在li上設置點擊事件,如果li有孩子,那麼它的文本打印在div標籤上。
我也有一個JavaScript函數。

$('li:not(:has(*))').click(function(){ 
    $('#result').text($(this).text()); 
}); 

但我怎麼能申請我不知道這一點。
有點幫助我需要。有些朋友幫我解決了這個問題。
謝謝。

+0

我再次困惑了幾乎相同的問題從不同的用戶[例如](http:// stackoverflow .com/q/16213034/2115381),還是「jack lanza」與「Jack Php」相同的gui? – 2013-04-25 13:38:59

+0

「所有行業的喬治」是正確的您的hmtl列表似乎是錯誤的。但是,來自「所有行業的喬治」的例子對我來說仍然是錯誤的。你的問題也不是很清楚。你不知道如何執行javascirpt? – 2013-04-25 13:40:32

回答

0

您當前的XSL提供了以下的輸出:

<ul> 
    <li>Activities</li> 
    <ul> 
     <li>Physical1</li> 
     <ul> 
     <li>Cricket</li> 
     <ul> 
      <li>One Day</li> 
     </ul> 
     </ul> 
     <li>Test1</li> 
     <ul> 
     <li>Test At Abc</li> 
     </ul> 
     <li>Test2</li> 
     <ul> 
     <li>Test At Xyz</li> 
     </ul> 
    </ul> 
</ul> 

真正的嵌套的UL本身列表項所以應該是李標籤裏面,有一個或兩個其中固定等問題給出:

<ul> 
    <li>Activities</li> 
    <li> 
     <ul> 
     <li>Physical1</li> 
     <li> 
      <ul> 
       <li>Cricket</li> 
      </ul> 
     <li>One Day</li> 
     </ul> 
    </li> 
    <li>Test1</li> 
    <li> 
     <ul> 
     <li>Test At Abc</li> 
     </ul> 
    </li> 
    <li>Test2</li> 
     <ul> 
     <li>Test At Xyz</li> 
     </ul> 
    </li> 
</ul> 

這是不完全清楚你是什麼後,請編輯問題顯示所需的輸出,然後我可以建議您需要的xsl。至於包括腳本,以下將工作 - 根據需要使用內聯或外部鏈接:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 
    <html> 
     <xsl:call-template name="HeaderTemplate" /> 
    <body> 

    </body> 
    </html> 
</xsl:template> 

<xsl:template name="HeaderTemplate"> 

    <head> 
    <script> 
     function MyFunction() 
      { 

      } 
    </script> 
    <script src="myScript.js"></script> 
    </head> 

</xsl:template> 

</xsl:stylesheet>