我的问题是我想在页面加载时检查我的复选框。
这些复选框当前位于用户表单的末尾,如下所示:
每个复选框对应一个Specification对象。 在我的模型图中,我添加了一个包含已检查值的“规范”列表,以及一个包含所有值的“allspecification”列表:
List<Specification> specification=hot*******.get********otel(createHotel); //this is for check value.
List<Specification> allspecification=city****vice.getspec***fication(); //for all specification
map.addAttribute("orgspecification", specification);
map.addAttribute("allToatalspecfication", allspecification);
这是相应的JSP页面:
<div id="orgspecifications" style="margin-left:1px; height: 100px; width: 97%;">
<c:forEach step="1" items="${allToatalspecfication}" var="specification">
<div align="left" id="${specification.id}" style="width: 28%; color: #507B07; border: solid 1px gray; float: left; margin: 3px; height: 27px; background-color: #E9EBE3;">
<input type="checkbox" name="checkbox" value="${specification.id}" id="checkbox" class="selectall"/>
${specification.name}
</div>
</c:forEach>
</div>
问题是,我正在显示所有“allspecification”列表,但我也希望检查“规范”列表的元素。 如何在页面加载时实现这一点?
提前致谢。
答案 0 :(得分:0)
$(function(){
$.get('some/url',function(data){
$('.selectall').each(function(){
if ($.inArray(+$(this).val(),data) > -1){
$(this).attr('checked',true);
}
});
});
})
注意,我认为data
变量包含Number
类型的已检查规范ID。
在服务器端,你必须有这样的东西:
@Controller
public class A {
@RequestMapping('some/url')
@ResponseBody
public List<Integer> getIdsOfCheckedSpecs() {
List<Integer> list = ...
return list;
}
}
答案 1 :(得分:0)
<div style="margin-top: 6px;">
<div id="orgspecifications" style="margin-left:1px; height: 100px; width: 97%;">
<c:forEach step="1" items="${allToatalspecfication}" var="specification">
<c:set value="${true}" var="unCheckFlag"></c:set>
<c:forEach items="${orgspecification}" var="selectedspecification">
<c:if test="${specification.id eq selectedspecification.id}">
<div align="left" id="${specification.id}" style="width: 28%; color: #507B07; border: solid 1px gray; float: left; margin: 3px; height: 27px; background-color: #E9EBE3;">
<input type="checkbox" name="checkbox" value="${specification.id}" id="checkbox" class="selectall" checked="checked"/>
${specification.name}
</div>
<c:set value="${false}" var="unCheckFlag"></c:set>
</c:if>
</c:forEach>
<c:if test="${unCheckFlag == true}">
<div align="left" id="${specification.id}" style="width: 28%; color: #507B07; border: solid 1px gray; float: left; margin: 3px; height: 27px; background-color: #E9EBE3;">
<input type="checkbox" name="checkbox" value="${specification.id}" id="checkbox" class="selectall"/>
${specification.name}
</div>
</c:if>
</c:forEach>
</div>
感谢大家的回复。