【问题标题】:jquery template plugin - using {{if}} statement in {{each}}jquery 模板插件 - 在 {{each}} 中使用 {{if}} 语句
【发布时间】:2011-10-05 10:47:42
【问题描述】:
我使用 jquery 模板插件并想在 {{each}} 元素内做一些检查。
我想检查当前值是否等于外部范围的值,例如:
<tr>
<td>
{{each Pages}}
{{if $value == $data.CurrentPage}}
${$value}
{{else}}
<a href="#">${$value}</a>
{{/if}}
{{/each}}
</td>
</tr>
但我所有的页面都显示为链接,所以 $value == $data.CurrentPage 永远不会等于 true。我检查了我有一个值,当当前页码等于 $value 时,它也显示为链接,这不是预期的。
我错过了什么,或者这根本不可能?
谢谢。
【问题讨论】:
标签:
jquery
jquery-templates
【解决方案1】:
当您使用 jquery 模板时,它允许您检查条件 in 子句是真还是假。您不能使用 equal 子句检查条件。示例:
{{if $value}}
<span>TRUE</span>
{{else}}
<span>FALSE</span>
{{/if}}
在这种情况下,$value 具有布尔值。
希望有用!
【解决方案2】:
我正在使用 JQuery 模板。我在下面的布尔值代码中实现了这一点。
{{如果 IS_SELECTED}}
是的
{{其他}}
错误
{{/if}}
希望有用!!
【解决方案3】:
你可以使用它,它工作正常:
{{if Pages != null}}
{{each Pages }}
<li class="list-group-item">
{{if $value.Id == 1}}
ID = 1
{{/if}}
</li>
{{/each}}
{{/if}}
统一更新:
或者您可以编写自己的函数compareWithCurrentPage,它将比较元素并返回真/假
{{if Pages != null}}
{{each Pages }}
<li class="list-group-item">
{{if $compareWithCurrentPage($value)}}
${$value}
{{/if}}
{{else}}
<a href="#">${$value}</a>
{{/else}}
</li>
{{/each}}
{{/if}}