我试图记录我在循环中的位置,以便我可以切换我的一些表格行。
这是我在 for-each 行中使用的计数器。
<xsl:variable name="i" select="position()"/>
我遇到的问题是我不知道如何分配i
我的行 ID,以便我页面中的每个表都可以打开和关闭自己的行,而不是一个按钮打开和关闭每个表中的每一行。
这就是我的 for-each 循环的样子
<xsl:for-each select="Talents_Passive">
<xsl:variable name="i" select="position()"/>
<div style="font-family:Calibri, Arial; font-size:5pt">
<xsl:if test="Talent != ''">
<table border="0" width="550">
<tr>
<td bgcolor="#A0A0A0" width="80%">
<a href="#" onClick="SwitchMenu(this, {$i})">Toggle Form?</a> <b id="toggle"><xsl:value-of select="Talent"/></b></td>
<td bgcolor="#A0A0A0" width="20%" align="center">
<xsl:value-of select="Cost"/><xsl:text> - </xsl:text><xsl:value-of select="Type"/></td>
</tr>
<xsl:if test="Prerequisite != ''">
<tr>
<td colspan="2" bgcolor="#C0C0C0"><b>Prerequisite: </b><xsl:value-of select="Prerequisite"/></td>
</tr>
</xsl:if>
<tr>
<td colspan="2" bgcolor="#C0C0C0">
<xsl:if test="Action != ''">
<b>Action: </b><xsl:value-of select="Action"/>
</xsl:if>
<xsl:if test="Range != ''">
<xsl:text> </xsl:text> <b>Range: </b><xsl:value-of select="Range"/>
</xsl:if>
<xsl:if test="Cost != ''">
<xsl:text> </xsl:text> <b>Cost: </b><xsl:value-of select="Cost"/>
</xsl:if>
</td>
</tr>
<xsl:if test="Action != ''">
<tr>
<!-- I would like to open and hide this row and give control to each table that is created in this for-each loop -->
<td colspan="2" bgcolor="#E0E0E0" id="{$i}" style="display:none;"><b>Action: </b><xsl:value-of select="Action"/></td>
</tr>
</xsl:if>
</table>
</xsl:if>
</div>
</xsl:for-each>
所以我想知道如何获取当前值i
并将其分配给我的行<td id="i">
或类似的东西。