比如说我在list页面上有添加与查询2个按钮,我在添加页面中设置了一个复选框,然后选了1,3,4,5,6;再打开查询页面,查询页面上的复选框1,3,4,5,6就被选中了,这样代码应该怎么写
<div id="dvCB">
<script>
for (var i = 1; i < 12; i++) document.write('<input type="checkbox" value="'+i+'"/>'+i+' ')
</script>
</div>
<script>
var values = '2,3,1,10';///将你原来获取到的值放到这个js变量里面,如values='<%=yourVar%>'
values = ',' + values + ',';
var cbs = document.getElementById('dvCB').querySelectorAll('input');
for (var i = 0; i < cbs.length; i++) if (values.indexOf(',' + cbs[i].value + ',') != -1) cbs[i].checked = true;
</script>
<c:forEach items="${list}" var="l" varStatus="status" >
<div class="skin-minimal f-l">
<div class="check-box" style="padding-top: 2px;">
<input type="checkbox" name="a" value="${l.brandId}" ${l.status==2?"checked='checked'":""}>
<label style="font-size: 12px;">${l.a}</label>
</div>
</div>
</c:forEach>
这个回答就长了,思路吧,复选的内容把唯一标识存下来,放在数组中,然后将数据传入到查询页面,循环匹配这个唯一标识,有了就选中
把list页面上的这些复选框和查询按钮放到一个表单里,查询按钮为提交按钮,点击查询按钮就会把复选框选择的项目提交到查询页面,在查询页面中通过提交的值重新设置复选框的选择状态即可。
存临时变量,记录下来
做一个回传,将第一次选的值传到查询页面,查询页面接到以后记录下来 如下
function defcheck(){
var str =[];
var str = $val; //这里是传过来的值
str = str.split(',');
for(k in str){
$("input[name='checkstutas'][value="+str[k]+"]").attr("checked","checked");
}
}
把传过来的值追加 checked 选中属性,就可以了。
list.jsp页面略。
---- add.jsp
-- save.jsp
<% String[] val=request.getParameterValues("option");
System.out.println(val);
session.setAttribute("option", val);
String url="list.jsp";
RequestDispatcher dis=request.getRequestDispatcher(url);
dis.forward(request, response);
%>
-- find.jsp
<%
String option;
option="";
String[] val=(String[])session.getAttribute("option");
System.out.println(val);
option=option+val[0];
for(int i=1;i<val.length;i++){
System.out.println(val[i]);
option=option+","+val[i];
}
System.out.println(option);
%>
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
// alert("HelloWord!!!");
var option="<%=option%>"
var arr = option.split(',');
for(elem in arr){
//alert(elem);
$("[name='option'][value='"+arr[elem]+"']").each(function(){
$("[name='option'][value='"+arr[elem]+"']").attr("checked",'true');
});
}
/*
$("[name='option']").each(function(){
$("[name='option']").attr("checked",'true');
});
*/
})
</script>