我在网页上使用ejs,并且有一个页面,我有一个对象数组。我不知道页面加载时有多少个对象。这是一个我可以编辑一组公告的页面。我想使用复选框启用或禁用每个公告,但需要首先根据传入值设置它们。该页面如下所示: 我在页面代码中使用了foreach:
<% var i=0; %>
<% announcements.forEach(function(announcement) { %>
<tr>
<td><input type="checkbox" id="enabled<%= i %>" name="enabled[<%= i %>]"></td>
<td contenteditable="true"><%= announcement.text %></td>
<td><%= type %></td>
<td>
<span class="table-remove glyphicon glyphicon-remove"></span>
</td>
<td>
<span class="table-up glyphicon glyphicon-arrow-up"></span>
<span class="table-down glyphicon glyphicon-arrow-down"></span>
</td>
</tr>
<% i++; %>
<% }) %>
如何设置每行复选框的初始值?我使用变量i来唯一标识复选框,但我不知道如何在脚本部分中找到行数。
谢谢!
答案 0 :(得分:1)
您可以在输入元素本身上设置初始值。
对于这个例子,我假设你有一个值来表明公告是否“启用”:
<td>
<input type="checkbox" id="enabled<%= i %>" name="enabled[<%= i %>]" <%= announcement.enabled ? "checked" : null %> >
</td>
这有点简洁 - 这是另一个做同样事情的例子:
<td>
<input type="checkbox" id="enabled<%= i %>" name="enabled[<%= i %>]" <% if (announcement.enabled) { %> "checked" <% } %> >
</td>