我正在尝试获取速度和脚本以传入并返回变量。
#set ( $test = "" )
...
<script>
var someVariable = '';
[some stuff happens and someVariable gets set]
#set ( $test = someVariable )
</script>
...
$test
上面的'$ test'会打印出someVariable所设置的内容。
如何从脚本标记内导出变量并将其返回到速度模板以使用?
有关更多上下文,我一直在尝试按照this创建汇总宏。我希望能够使用保存的下拉项目并使用它来修改我的其他宏。
答案 0 :(得分:1)
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"> </div>
此外,您需要确保JavaScript在after the DOM is fully loaded之前(或使用特定于Atlassian的AJS.toInit()
)运行。