我是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/
我在这里做错了什么?
正如FrédéricHamidi所说,您正在将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"/>
您还可以通过使用AVT(属性值模板({}
))来执行与您最初的操作类似的操作。
<input type="button" name="testBtn" id="testBtn"
value="Test Button" data-test="{data-test}"/>