如何在xslt中设置活动按钮?

时间:2013-05-21 06:20:58

标签: xslt

我在xslt中有一个代码,用于使用按钮选择两个值。我需要检查值并设置激活相应的按钮。这是我的代码

 <ul class="switch">
 <li class="private-btn">
 <xsl:if test="library:RequestQueryString('at') = 'privat'">

here i need the active btn code

 </xsl:if>
 <input type="button" class="Privat" value="Privat"></input>

 </li>
 <li class="business-btn">
 <xsl:if test="library:RequestQueryString('at') = 'Erhverv'">

   here i need the active btn code

</xsl:if>
<input type="button" class="Privat" value="Erhverv"></input>
 </li>
</ul>

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望有条件地在按钮上设置disabled html属性(可能还有其他属性)。

您可以有条件地添加属性,如下所示:

<input type="button" class="Privat" value="Erhverv">
  <xsl:choose>
    <xsl:when test="library:RequestQueryString('at') = 'privat'">
      <xsl:attribute name="disabled">disabled</xsl:attribute>
    </xsl:when>
    <xsl:otherwise>
      ... Other attribute here etc.
    </xsl:otherwise>
  </xsl:choose>
</input>

由于您似乎需要重用逻辑,因此您还可以将启用/属性状态生成重构为调用模板,如下所示:

  <xsl:template name="SetActiveState">
    <xsl:param name="state"></xsl:param>
    <xsl:choose>
      <xsl:when test="$state='true'">
        <xsl:attribute name="disabled">disabled</xsl:attribute>
      </xsl:when>
      <xsl:otherwise>...</xsl:otherwise>
    </xsl:choose>
  </xsl:template>

然后这样称呼它:

<input type="button" class="Privat" value="Erhverv">
  <xsl:call-template name="SetActiveState">
    <xsl:with-param name="state" 
                    select="library:RequestQueryString('at') = 'privat'">
    </xsl:with-param>
  </xsl:call-template>
</input>

... <input type="button" class="Privat" value="Privat"></input>

相同