我有一个问题,我希望有人可以帮助我。
这是我的xsl文件的缩写部分。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:con="http://eviware.com/soapui/config">
<xsl:output method="html" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<html>
<head>
<script type="text/javascript">
function anAus(id)
{
if (document.getElementById(id).style.display == 'none')
{ document.getElementById(id).style.display = 'block';
} else
{ document.getElementById(id).style.display = 'none';}
}
</script>
</head>
<body>
<TABLE border="1">
<thead>
<TH>[ id ]</TH>
<TH>[ name ]</TH>
<TH>[ aktiv ]</TH>
<TH>[ result ]</TH>
<TH>[ help ]</TH>
</thead>
<tbody>
<xsl:for-each select="....." >
<TR>
<TD><xsl:value-of select="ID" /></TD>
<TD><xsl:value-of select="name" /></TD>
<TD> <xsl:value-of select="@activated" /></TD>
<TD><xsl:value-of select="result" /></TD>
<!-- column 5 --- Button -->
<xsl:variable name="button_name" select="concat('Button_',$ID)"/>
<xsl:variable name="button_variable" select="concat('but_var',$ID)"/>
<TD width="50" align="center"><input name="$button_name" Type="button" value="help" onClick="javascript:anAus('$button_variable')"/></TD>
</TR>
<TR id="$button_variable" style="display:none">
<TD colspan="5" >
<xsl:value-of select = "$verbesserung" /></TD>
</TR>
</tbody>
</TABLE>
现在解释我的问题:
对于每个元素,我在html表中生成一行。每一行都有 5个细胞。在最后一个单元格中有一个按钮,可以展开元素的帮助行。
到目前为止,我使用了一个java.script函数,它使用row-obejct的elementID来改变可见性。
我尝试通过元素id和a中的字符串生成按钮名称和objectid concat运营商。 但是在我的结果表中,每个按钮都具有相同的功能,只是为了扩展第一个入口行下的“helprow”。
我试图为每个条目提供“$ button_name”和“$ button_variable”,它们是正确的。有人可以在代码中找到错误。
答案 0 :(得分:0)
尝试更改您的上一个td
:
<TD width="50" align="center">
<input name="$button_name" Type="button" value="help" >
<xsl:attribute name="onclick">javascript:anAus('<xsl:value-of select="$button_variable" />')</xsl:attribute>
</input>
</TD>
你隐藏的tr
就像这样:
<TR style="display:none">
<xsl:attribute name="id"><xsl:value-of select="$button_variable" /></xsl:attribute>
<TD colspan="5" >
<xsl:value-of select = "$verbesserung" />
</TD>
</TR>