1

我有一个问题,我希望有人可以帮助我。

这是我的 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 和 concat 运算符中的字符串生成按钮名称和 objectid。但在我的结果表中,每个按钮都具有相同的功能,只是在第一个条目行下展开“帮助行”。

我试图为每个条目给出“$button_name”和“$button_variable”,它们是正确的。有人可以在代码中找到错误。

4

1 回答 1

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>
于 2013-09-03T07:51:32.957 回答