gpt4 book ai didi

jquery - jquery模板可以有for循环吗

转载 作者:行者123 更新时间:2023-12-01 00:38:17 25 4
gpt4 key购买 nike

我需要构建一个 jQuery 模板,其中包含月份下拉列表和月份下拉列表。对于我来说,必须在每个值为 1 到 31 的 JSON 模型项中包含月份列表和日期列表,这样我就可以使用 {{each}} 语法构建选项,这似乎有些过分了。

我在另一个答案中看到了如何在 {{each}} 内部添加动态数组: Can I declare local/temp variables within a jQuery template?

我可能可以在其中定义一个值为 1 到 31 的数组。但即使这样也有点冗长。有没有更好的方法在 jquery 模板中执行 for 循环?

我可能可以找到一些日期对象来针对日期特定情况进行迭代,但是与日期无关的 for 循环用例又如何呢?

我希望循环在模板主体中完全定义,而不使用外部全局变量。通过全局变量,我可以轻松使用 {{each}}。

最佳答案

我找到了如何向 jquery 模板添加另一个标签。这是 for 标签定义。在脚本引用 jquery 和 jquery.tmpl.js 之后添加此内容:

(function ($) {
$.extend(jQuery.tmpl.tag, {
"for": {
_default: {$2: "var i=1;i<=1;i++"},
open: 'for ($2){',
close: '};'
}
});
})(jQuery);

感谢 Roel Kramers 提供的文本区域标记示例: http://blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/

此外,查看 jquery.tmpl 源代码以了解每个标签的定义也有很大帮助。

默认为 1 次迭代的 for 循环。以下是定义模板主体以使用它的方法:

<script id="TestTemplate" type="text/x-jQuery-tmpl">
Day:<br/>
<select name="DayOfMonth">
{{for(i=1;i<=31;i++)}}
<option value="${i}">${i}</option>
{{/for }}
</select>
</script>​

这是一个 jsFiddle 页面,可以查看它的实际情况: http://jsfiddle.net/mjlang/qvzdV/

关于jquery - jquery模板可以有for循环吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9656061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com