在 jquery 模板中定义变量?

发布于 2024-11-29 05:50:45 字数 1050 浏览 0 评论 0原文

我有一个 jquery 模板,我必须将一些变量组合在一起,如下所示:

{{= year}}-{{= month}}-{{= day}}-{{= hour}}

我来自 jqote 模板,您可以在模板中使用 javascript。这在 jquery 模板中可能吗?我在这个问题上找不到任何帮助。谢谢。

另外,我使用了奇怪的语法,因为 groovy 不喜欢 ${}。

<script id="mainTemplate" type="text/x-jquery-tmpl">
<ul>        
    {{each(i, wrapSpec) data}}          

    <li><a href="#pkgLineTabs_{{= wrapSpec.wrapSpecId}}" id="{{= wrapSpecId}}">{{= wrapSpec.wrapSpec2.pkgLineId.pkgLineTree.treeId.name}} {{= wrapSpec.shortname}} </a></li>

    {{/each}}
</ul>

{{each(i, wrapSpec) data}}

<div id="pkgLineTabs_{{= wrapSpec.wrapSpecId}}" style="font-size:12px" class="reportTable display {{= wrapSpec.wrapSpec2.pkgLineId.hash}}" title="{{= wrapSpec.wrapSpec2.pkgLineId.hash}}" >    

    {{tmpl(wrapSpec.report) "#dayTemplate"}}

</div>  

{{/each}}

在 jqote 中,我只能说 var pkgLineId = wrapSpec.wrapSpec2.pkgLineId。

因此,我可以不说wrapspec.wrapSpec2.pkgLineId.hash,而是直接输入pkgLineId.hash。

I have a jquery template where I have to combine some variables together like so:

{{= year}}-{{= month}}-{{= day}}-{{= hour}}

I'm coming from jqote templates where you can just use javascript within the template. Is this possible within jquery templating? I can't find any help on this issue. Thanks.

Also I'm using the weird syntax because groovy doesn't like ${}.

<script id="mainTemplate" type="text/x-jquery-tmpl">
<ul>        
    {{each(i, wrapSpec) data}}          

    <li><a href="#pkgLineTabs_{{= wrapSpec.wrapSpecId}}" id="{{= wrapSpecId}}">{{= wrapSpec.wrapSpec2.pkgLineId.pkgLineTree.treeId.name}} {{= wrapSpec.shortname}} </a></li>

    {{/each}}
</ul>

{{each(i, wrapSpec) data}}

<div id="pkgLineTabs_{{= wrapSpec.wrapSpecId}}" style="font-size:12px" class="reportTable display {{= wrapSpec.wrapSpec2.pkgLineId.hash}}" title="{{= wrapSpec.wrapSpec2.pkgLineId.hash}}" >    

    {{tmpl(wrapSpec.report) "#dayTemplate"}}

</div>  

{{/each}}

In jqote I could just say var pkgLineId = wrapSpec.wrapSpec2.pkgLineId.

So instead of saying wrapspec.wrapSpec2.pkgLineId.hash I could just put pkgLineId.hash.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心房敞 2024-12-06 05:50:45

您可以使用 ${ } 模板标签将函数或表达式嵌入 jQuery 模板中。

http://api.jquery.com/template-tag-equal/

您可以通过 window 对象将全局变量传递给模板:

var year = 2011;

var myTemplate = $("<div><b>Year: ${year}</b></div>").template();
$.tmpl(myTemplate, window).appendTo("#myDiv");

或者:

var currentDate = {'year' : 2011};

var myTemplate = $("<div><b>Year: ${year}</b></div>").template();
$.tmpl(myTemplate, currentDate).appendTo("#myDiv");

这是一个 jsfiddle,可以完成我认为您想要做的事情: http://jsfiddle.net/GTjXz/1/

编辑:jsfiddle 在模板中的 $item 对象上动态声明新属性: net/GTjXz/2/" rel="nofollow">http://jsfiddle.net/GTjXz/2/

You can use the ${ } Template tag to embed a function or expression in a jQuery template.

http://api.jquery.com/template-tag-equal/

You can pass global variables to the template by way of the window object:

var year = 2011;

var myTemplate = $("<div><b>Year: ${year}</b></div>").template();
$.tmpl(myTemplate, window).appendTo("#myDiv");

Or:

var currentDate = {'year' : 2011};

var myTemplate = $("<div><b>Year: ${year}</b></div>").template();
$.tmpl(myTemplate, currentDate).appendTo("#myDiv");

Here is a jsfiddle that accomplishes what I think you are trying to do: http://jsfiddle.net/GTjXz/1/

EDIT: jsfiddle which dynamically declares new properties on the $item object in the template: http://jsfiddle.net/GTjXz/2/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文