我通过 EJS 生成了一个下拉列表,它将默认selected 值设置为该公司当前的管理员值。
用户应该能够取消选择当前管理员并选择其他管理员,从而将当前管理员删除为公司管理员。
但是,选择另一个选项和/或按住 CTRL 键并单击默认选项不会取消选择它,并且表单会发送默认选项和任何其他可能选择的选项。
我是否错过了 selected 属性的工作方式中的某些内容?option
<div id="adminDropdown">
<% if (companyAdmins) { %>
<select name="chooseAdmins" id="chooseAdmins" form="updateCompany" multiple class="form-control">
<% for (let location of currentCompany.locations ) { %>
<% for (let contact of location.contacts) { %>
<option value="<%= contact.id %>" <%= contact.isCompanyAdmin ? 'selected' : '' %>><%= contact.firstName %> <%= contact.lastName %></option>
<% } %>
<% } %>
</select>
<span class="muted"><small>Hold `CTRL` to select multiple admins, or to deselect an admin.<br />
To add users to this list, first add them to their Location's "Contacts".
</small></span>
<% } else { %>
<div class="alert alert-warning">Error loading admins data</div>
<% } %>
</div>
另外,检查 chrome 中的元素,“选定的”元素;属性在加载时正确显示,但在单击或 ctrl+单击选项后不会消失,就像它应该的那样。
慕工程0101907
长风秋雁
相关分类