通过 XSL 变量内联 JavaScript 函数
Pass through XSL variable to inline JavaScript function
如何将 xsl 变量传递给我的内联 JavaScript 函数?我想反过来处理它并填充一个 table 列。
<td>
<xsl:variable name="symbol" select="symbol"/>
<script language="javascript">
<![CDATA[
$(document).ready(function () {
getPrice('<xsl:value-of select="symbol"/>');
});
function getPrice(symbol)
{
alert(symbol);
var target = document.getElementById(symbol + '_price');
$( target ).html( 'test' );
}
]]>
</script>
<div id='{symbol}_price'></div>
</td>
如果您 运行 使用浏览器中的内置 XSLT 1.0 引擎,请记住 XSLT 代码只是生成 HTML。您的 XSLT 代码正在生成一个包含 Javascript 函数源代码的页面,但您无法在生成该页面时执行此函数。您可以做的是生成调用该函数的 HTML 代码,但这在您的情况下听起来不太有用。
此外,在 td
元素中生成包含 script
元素的 HTML 似乎不是一个好主意。
但是你为什么要调用 Javascript?据我所知,您的 Javascript 函数所做的就是读取源代码 XML。当然,这样做的方法是使用 XPath 表达式?
如何将 xsl 变量传递给我的内联 JavaScript 函数?我想反过来处理它并填充一个 table 列。
<td>
<xsl:variable name="symbol" select="symbol"/>
<script language="javascript">
<![CDATA[
$(document).ready(function () {
getPrice('<xsl:value-of select="symbol"/>');
});
function getPrice(symbol)
{
alert(symbol);
var target = document.getElementById(symbol + '_price');
$( target ).html( 'test' );
}
]]>
</script>
<div id='{symbol}_price'></div>
</td>
如果您 运行 使用浏览器中的内置 XSLT 1.0 引擎,请记住 XSLT 代码只是生成 HTML。您的 XSLT 代码正在生成一个包含 Javascript 函数源代码的页面,但您无法在生成该页面时执行此函数。您可以做的是生成调用该函数的 HTML 代码,但这在您的情况下听起来不太有用。
此外,在 td
元素中生成包含 script
元素的 HTML 似乎不是一个好主意。
但是你为什么要调用 Javascript?据我所知,您的 Javascript 函数所做的就是读取源代码 XML。当然,这样做的方法是使用 XPath 表达式?