首页 > 解决方案 > 通过 XSL 变量传递到内联 JavaScript 函数

问题描述

如何将 xsl 变量传递给我的内联 JavaScript 函数?我想反过来处理它并填充表格列。

  <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>

标签: javascriptxmlxsltcdata

解决方案


如果您使用浏览器中的内置 XSLT 1.0 引擎运行它,请记住 XSLT 代码只是生成 HTML。您的 XSLT 代码正在生成一个包含 Javascript 函数的源代码的页面,但是当您仍在生成该页面时,您无法执行此函数。您可以做的是生成调用该函数的 HTML 代码,但这在您的情况下听起来不太有用。

此外,生成包含script元素内部td元素的 HTML 似乎不是一个好主意。

但是你为什么要调用 Javascript 呢?据我所知,您的 Javascript 函数所做的只是读取源 XML。当然,这样做的方法是使用 XPath 表达式?


推荐阅读