Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理ejs中的复选框数组_Javascript_Jquery_Node.js_Checkbox_Ejs - Fatal编程技术网

Javascript 如何处理ejs中的复选框数组

Javascript 如何处理ejs中的复选框数组,javascript,jquery,node.js,checkbox,ejs,Javascript,Jquery,Node.js,Checkbox,Ejs,我在我的网页上使用ejs,有一个页面上有一个对象数组。我不知道加载页面时我有多少对象。这是一个我可以编辑一组公告的页面。我想使用一个复选框来启用或禁用每个公告,但首先需要从传入值设置它们。页面如下所示: 我在页面代码中使用了foreach: <% var i=0; %> <% announcements.forEach(function(announcement) { %> <tr> <td><input type="checkbox

我在我的网页上使用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来唯一标识复选框,但我不知道如何在脚本部分找到行数


谢谢

您可以在输入元素本身上设置初始值

对于本例,我假设您输入了一个值来指示公告是否“已启用”:


这有点简明扼要-这里有一个替代示例,可以做同样的事情:

<td>
  <input type="checkbox" id="enabled<%= i %>" name="enabled[<%= i %>]" <% if (announcement.enabled) { %> "checked" <% } %> >
</td>


是的!我知道你做了什么,我想这会管用的。谢谢只是要确认一下,这确实有效。我应该亲眼看到的!(不是一直都是这样吗?:-)呜!我很高兴这有帮助。:)
<td>
  <input type="checkbox" id="enabled<%= i %>" name="enabled[<%= i %>]" <% if (announcement.enabled) { %> "checked" <% } %> >
</td>