Передайте переменную XSL для встроенной функции JavaScript - PullRequest
0 голосов
/ 21 мая 2018

Как мне пройти через переменную 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>

1 Ответ

0 голосов
/ 21 мая 2018

Если вы используете это с помощью встроенного в браузер механизма XSLT 1.0, помните, что код XSLT просто генерирует HTML.Ваш XSLT-код генерирует страницу, которая содержит исходный код функции Javascript, но вы не можете выполнить эту функцию, пока вы еще генерируете страницу.Что вы можете сделать, это сгенерировать HTML-код, который вызывает функцию, но в вашем случае это звучит не слишком полезно.

Кроме того, генерация HTML-кода, содержащего элемент script внутри элемента td, неЭто не очень хорошая идея.

Но почему вы вообще используете Javascript?Насколько я вижу, все, что делает ваша функция Javascript - это чтение исходного XML.Конечно, способ сделать это с помощью выражений XPath?

...