xslt下拉列表中的选定属性
我有一个以逗号分隔的列表,它来自C#,我正在XSLT中解析它并将其作为下拉列表加载。在用户从下拉列表中选择选项并提交页面后,如果页面中没有填写其他字段,我将尝试使用此下拉列表中选择的选项重新加载页面xslt下拉列表中的选定属性,xslt,Xslt,我有一个以逗号分隔的列表,它来自C#,我正在XSLT中解析它并将其作为下拉列表加载。在用户从下拉列表中选择选项并提交页面后,如果页面中没有填写其他字段,我将尝试使用此下拉列表中选择的选项重新加载页面 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template name="parseString"> <xsl:param name="lis
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="parseString">
<xsl:param name="list"/>
<xsl:if test="contains($list, ',')">
<xsl:element name="option">
<xsl:attribute name="value">
<xsl:value-of select="substring-before($list, ',')"/>
</xsl:attribute>
<xsl:value-of select="substring-before($list, ',')"/>
<xsl:if test="substring-before($list, ',')=$carrier">
: sel value
<xsl:attribute name="SELECTED"></xsl:attribute>
</xsl:if>
</xsl:element>
<xsl:call-template name="parseString">
<xsl:with-param name="list" select="substring-after($list, ',')"/>
</xsl:call-template>
</xsl:if>
:sel值
但在重新加载时,下拉列表中的选定值不会保持不变。
但我可以看到文本-‘sel value’符合条件并显示出来。例如,在图像中,您可以看到carrier-Metro PC的文本
任何帮助都将不胜感激
谢谢。
编辑:我尝试了多种方法来选择属性,如
<xsl:attribute name="SELECTED"></xsl:attribute>
<xsl:attribute name="SELECTED">True</xsl:attribute>
<xsl:attribute name="SELECTED">selected</xsl:attribute>
真的
挑选出来的
它们似乎都不起作用。尝试交换这两行:
: sel value
<xsl:attribute name="SELECTED"></xsl:attribute>
:选择值
将来
<xsl:attribute name="SELECTED"></xsl:attribute>
: sel value
:sel值
我认为您正在尝试向“:sel value”文本节点添加一个属性,这显然不起作用
编辑
仔细看一下您的模板,我认为这是一个类似于上面建议的问题(向文本节点添加属性)。
试试这个:
<xsl:element name="option">
<xsl:attribute name="value">
<xsl:value-of select="substring-before($list, ',')"/>
</xsl:attribute>
<xsl:if test="substring-before($list, ',')=$carrier">
<xsl:attribute name="SELECTED"></xsl:attribute>
: sel value
</xsl:if>
<xsl:value-of select="substring-before($list, ',')"/>
</xsl:element>
:sel值
如果if为true,则尝试向文本节点添加一个属性,该属性的值为。在添加任何子节点(无论是文本节点还是其他节点)之前,都需要添加所有属性。您好,感谢您的回复。这种变化产生了与以前相同的输出。但所选值同样不会显示在下拉列表中。我不必加上“sel值”,只是为了表明条件满足。是的,你是对的!!我在考虑您关于将属性添加到文本节点的评论。我试着在类似的线路上进行纠正,结果成功了。非常感谢你。