如果复选框值等于 arrayList 中的值,则选中复选框
Checking a checkbox if checkbox value equals value in an arrayList
我在我的 jsp 文件中使用了一个值数组列表,名为 "selectedMods"。 "selectedMods" 包含表单提交前先前选中的复选框的值。我希望在刷新表单时复选框保持选中状态。我的想法是,对于每个复选框项目,遍历先前选择的复选框的数组列表 "selectedMods",如果该复选框值等于先前在 "selectedMods" 中选择的任何一个,则检查该复选框。下面是显示复选框的代码:
<c:forEach items="${modules}" var="module">
<label class="checkbox"><input type="checkbox" name="moduleIds value="${module.id}" /> ${module.title}</label>
</c:forEach>
在 "value" 之后,我考虑添加如下内容:
<c:if test="${selectedMods == ${module.id}">checked="checked"</c:if>
但我意识到如果不遍历列表就无法将值列表与单个值进行比较,而且我不确定从哪里开始。任何帮助深表感谢。
您可以构造一个已检查 select 输入的映射,其中条目的键是模块 ID,而不是您的条件类似于
<c:if test="${selectedMods.containsKey(module.id)}">
我在我的 jsp 文件中使用了一个值数组列表,名为 "selectedMods"。 "selectedMods" 包含表单提交前先前选中的复选框的值。我希望在刷新表单时复选框保持选中状态。我的想法是,对于每个复选框项目,遍历先前选择的复选框的数组列表 "selectedMods",如果该复选框值等于先前在 "selectedMods" 中选择的任何一个,则检查该复选框。下面是显示复选框的代码:
<c:forEach items="${modules}" var="module">
<label class="checkbox"><input type="checkbox" name="moduleIds value="${module.id}" /> ${module.title}</label>
</c:forEach>
在 "value" 之后,我考虑添加如下内容:
<c:if test="${selectedMods == ${module.id}">checked="checked"</c:if>
但我意识到如果不遍历列表就无法将值列表与单个值进行比较,而且我不确定从哪里开始。任何帮助深表感谢。
您可以构造一个已检查 select 输入的映射,其中条目的键是模块 ID,而不是您的条件类似于
<c:if test="${selectedMods.containsKey(module.id)}">