我试图获得速度和传递的脚本并返回一个变量。

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


上面的“ $ test”将打印出someVariable设置为的内容。

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

对于更多上下文,我一直在尝试通过遵循this来创建一个下拉列表宏。我希望能够使用保存的下拉菜单项,并使用它来修改我拥有的其他一些宏。

最佳答案

Velocity是一种服务器端编译的模板语言,而JavaScript是在客户端执行的。在您的JavasScript运行时,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())才能运行。

10-02 09:59