【问题标题】:access jquery/javascript variable in velocity template在速度模板中访问 jquery/javascript 变量
【发布时间】:2016-03-07 00:40:33
【问题描述】:

我正在尝试获取速度和脚本以传入并返回一个变量。

#set ( $test = "" ) 
...
<script>
    var someVariable = '';
    [some stuff happens and someVariable gets set]
    #set ( $test = someVariable )
</script>
...
$test

上面的 '$test' 将打印出 someVariable 设置的任何内容。

如何从脚本标签中导出变量并将其返回给velocity模板以使用?

关于更多上下文,我一直在尝试通过关注this 在融合中创建一个下拉宏。我希望能够使用保存的下拉项并使用它来修改我拥有的其他一些宏。

【问题讨论】:

    标签: javascript jquery velocity confluence


    【解决方案1】:

    Velocity 是一种服务器端编译模板语言,而 JavaScript 在客户端执行。当你的 JavaScript 运行时,Velocity 代码已经被编译、转换成 HTML 并发送到客户端,所以你不能直接做你想做的事。

    相反,您需要直接修改 DOM。例如,使用 jQuery:

    ...
    <script>
        var someVariable = '';
        [some stuff happens and someVariable gets set]
        jQuery(".myClass").text(someVariable);
    </script>
    ...
    <div class="myClass">&nbsp;</div>
    

    此外,您需要确保您的 JavaScript 在 after the DOM is fully loaded(或使用 Atlassian 特定的 AJS.toInit())之前不会运行。

    【讨论】:

      猜你喜欢
      • 2014-04-08
      • 2018-04-07
      • 2021-12-11
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      • 2015-12-04
      • 1970-01-01
      相关资源
      最近更新 更多