0

我是 XSLT 的新手,所以请原谅我的菜鸟问题。

在这里,我正在尝试使用 javascript 传递 xsl:attribute 的值。因此,当我单击按钮时,假设会获取 XSL 属性的值。但我无法获得预期的输出。

代码的 HTML 部分在这里:

<xsl:attribute name="value">
   <xsl:value-of select="110"/>
</xsl:attribute>

<input type="button" name="testBtn" id="testBtn"
   value="Test Button" data-test="$value"/>

和 javascript 代码在这里:

$("#testBtn").click(function() {
   var outputResult = $(this).attr('data-test');

   console.log(outputResult);
});

单击按钮时的预期输出:

    110

我已经包含了一个 jsfiddle,以防我的问题不清楚 http://jsfiddle.net/rfa75/

我在这里做错了什么?

4

2 回答 2

1

您还可以通过使用AVT(属性值模板 ( {}))来执行与您最初所做的类似的操作。

<input type="button" name="testBtn" id="testBtn"
   value="Test Button" data-test="{data-test}"/>
于 2013-10-25T19:45:10.850 回答
1

正如 Frédéric Hamidi 所说,您将 html 与 XSL 混合在一起,这不是 XSLT 转换的工作方式。无论如何,您可能需要这样的东西(在您的 XSL 中):

<input type="button" name="testBtn" id="testBtn" value="Test Button">
  <xsl:attribute name="data-test">
    <xsl:value-of select="110"/><!-- "110" or any expression you should need -->
  </xsl:attribute>
</input>

这将输出此 HTML:

<input type="button" name="testBtn" id="testBtn" value="Test Button" data-test="110"/>
于 2013-10-25T07:59:54.853 回答