我不熟悉XSL,我正在编写一个包含变量的代码:
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[(contains(normalize-space(@State.),$State) or string-length($State) = 0) and (contains(normalize-space(@Event_x0020_Display_x0),$Month) or string-length($Month) = 0) and (contains(normalize-space(@Event_x0020_Type),$EventType) or string-length($EventType) = 0)]"/>
我需要使用此变量来填充具有唯一值的3下拉列表。 我尝试了几件事,如果页面加载了所有值,下面的代码将起作用。但是,如果我使用参数进行过滤,则下拉列表中的值会变得混乱。
<td class="ms-vh" nowrap="nowrap">
<select name="Select1" style="width:200px;">
<xsl:for-each select="$Rows">
<xsl:sort select="@State"/>
<xsl:if test="not(@State=preceding-sibling::Row/@State)">
<option>
<xsl:value-of select="substring-after(@State,'#')" />
</option>
</xsl:if>
</xsl:for-each>
</select>
</td>