我想为HTML列表生成ID。
该列表是从数据库动态生成的。
我不能使用for循环或list.zipWithIndex函数,因为我的逻辑包含一些循环用于生成列表,其中计数器也需要递增。我也尝试使用定义函数,但不允许重新分配这样的值:@{id = id + 1}
什么是完成Id的生成的最好方法?
这是模板的一部分(uniqueId需要用整数替换):
<div id="tree">
<ul>
<li id="uniqueId">
<a class="dashboard" href="/">Dashboard</a>
</li>
<li id="uniqueId">
<b>Products</b>
<ul id="uniqueId">
@for(cat <- Application.allCategories()) {
<li id="uniqueId">
<a class="name" href="@routes.Categories.getd(cat.id).url">@cat.name</a>
<ul>
@for(prod <- Application.allProducts()) {
<li id="uniqueId">
<a class="name" href="@routes.Product.getById(prod.id).url">@prod.name</a>
</li>
@*more code and the closing tags...*@
答案 0 :(得分:3)
仅使用...对象的id作为前缀,使其唯一,例如首次列出:
@for(cat <- Application.allCategories()) {
<li id="cat_@cat.id">
第二名:
@for(prod <- Application.allProducts()) {
<li id="prod_@prod.id">
或者如果相同的产品可以在几个类别中显示,也可以使用cat.id作为前缀:
@for(cat <- Application.allCategories()) {
<li id="cat_@cat.id">
@for(prod <- Application.allProducts()) {
<li id="prod_@(cat.id)_@(prod.id)">