2016-01-21 20 views
0

我調用函數collapseandexpand()負載動態內容,那麼它將無法工作,所以現在如何創建同樣的功能時XSLT負載動態內容。如何創建功能時,只對靜態元素XSLT

JavaScript代碼:

<script language="javascript" type="text/javascript"> 
<xsl:text> 
function collapseandexpand(){ 
if(document.getElementById ('subList').style.display == 'none') 
document.getElementById ('subList').style.display = 'block'; 
else 
document.getElementById ('subList').style.display = 'none';   
} 
</xsl:text> 
</script> 
+0

那麼是什麼問題,你的XSLT代碼生成數'id =「subList」'元素在同一個文件中? 'id'必須是唯一的才能夠使用'document.getElementById'。 –

+0

@Martin Honnen:這裏生成了一些動態的divs.Now我試圖展開和摺疊每個div.But只有第一個工作擴大和崩潰剩餘的div不工作。 – Sri

回答

0

更改您的XSLT代碼

<div class="mainDiv"> 
    <div class="subDiv"> 
    <a href="#" onClick="collapseandexpand(document.getElementById('{generate-id()}'))"> 
     <span> 
      <xsl:value-of select="$key"/> 
     </span> 
    </a>     
    </div> 
    <div class="childsubDiv" id="{generate-id()}" > 
    <ul id="subMenu" class="subMenu"> 
     <xsl:for-each select="pages/page"> 
     <xsl:sort select="@order" data-type="number"/> 
      <xsl:apply-templates select="."> 
      <xsl:with-param name="context" select="$context"/> 
      </xsl:apply-templates> 
     </xsl:for-each> 
    </ul> 
    </div> 
</div> 

,然後腳本功能

function collapseandexpand (element) { 
    element.style.display = element.style.display == 'none' ? '' : 'none'; 
} 
+0

我有一個小懷疑{generate-id()}意味着它會自動生成id的? – Sri

+0

感謝您的幫助,它工作的很好。感謝很多@Martin Honnen – Sri

+0

我添加了css,但不顯示圖像進行展開和摺疊 – Sri