ssh框架下checkbox翻页选中问题
来源:互联网 发布:广告联盟挂机软件 编辑:程序博客网 时间:2024/05/18 03:10
思路:
1、在 form 中添加字段ids和checkstate字段,
private java.lang.String ids;
private java.lang.Boolean checkstate;
将选中的id集合放在ids中,以逗号分隔;checkstate字段记录该条条目是否被选中
前端设置隐藏ids字段 <html:hidden property="ids"/>,用于与后端进行数据传递
2、点击checkbox该条记录被选中,再次点击取消选中
<input type="checkbox" name="tasks" id="task<%=i%>" value="<%=planTask.getId()%>" onclick="changeCheck('task<%=i%>');" >
js中changeCheck()方法如下:
function changeCheck(taski){
var checkbox=document.getElementById(taski);
var checkboxState=checkbox.checked;
var taskid=checkbox.value;
if(checkboxState==true){
document.getElementsByName("ids")[0].value+=taskid+","; //被选中后向ids字段中添加该条任务的id
// alert(document.getElementsByName("ids")[0].value);
}else{
document.getElementsByName("ids")[0].value=document.getElementsByName("ids")[0].value.replace((taskid+","),"");
// alert(document.getElementsByName("ids")[0].value);//取消选中后将该条任务的id从ids中删除
};
}
3、返回上一页后,之前已经被选中的记录显示为勾选状态
在后端获取该页的所有记录后,将这些记录与ids字段中所有被勾选记录的id集合相匹配,若某条记录在ids集合中,则设置该条记录的checkstate字段为true,在前端判断该字段,并根据该字段确定是否显示勾选状态
后端:
String ids=(String)request.getAttribute("ids");
String varryid[]=null;
if(!Util.strNull(ids).equals("")){varryid=ids.split(",");} //被勾选的id放在varryid[数组中
List<PlanTask> resultRows = PlanTaskManager.getTasksByConditonByPage(planTaskForm.getScore(),planTaskForm.getAttr1(),page.getCurrentStartOfPage(), page.getPageSize()); //获取该页的所有记录
if(varryid!=null && varryid.length>0){
for(int i=0;i<resultRows.size();i++){
for(int j=0;j<varryid.length;j++){
if( resultRows.get(i).getId().equals(varryid[j])){
resultRows.get(i).setCheckstate(true); //若该条记录已被勾选,设置checkstate字段为true
}
}
}
}
前端:
<%if(Util.strNull(planTask.getCheckstate()).equals("true")){ %>
<input type="checkbox" name="tasks" id="task<%=i%>" value="<%=planTask.getId()%>" checked="checked" onclick="changeCheck('task<%=i%>');" > 若checkstate字段为true,已被勾选,checked属性设为"checked"
<%}else{ %>
<input type="checkbox" name="tasks" id="task<%=i%>" value="<%=planTask.getId()%>" onclick="changeCheck('task<%=i%>');" >
<%} %>
- ssh框架下checkbox翻页选中问题
- IE6 IE7 下 checkbox 选中 问题
- firefox下checkbox刷新后任选中问题
- checkbox在firefox下选中问题
- GridView 翻页后保持checkbox选中状态
- GridView翻页记住选中的checkbox
- GridView翻页记住选中的checkbox
- jQuery 操作checkbox翻页保存选中状态
- SSH框架分页不能翻页
- jquery checkbox选中问题
- checkbox被选中问题
- checkbox选中的问题
- 表单checkbox选中问题
- 解决在IE下创建checkbox无法选中的问题
- IE 下双击 checkbox 选中状态延迟问题
- GridView CheckBox当翻页时保存选中的项(viewstate)
- js实现翻页后保持checkbox选中状态
- FLEX CheckBox 翻页后选中状态显示错乱
- 面向对象的原则之接口隔离原则
- 算法的周期思想和临界值思想
- oracle自增主键的添加[sequence](转)
- NEFU OJ26 计算阶乘位数
- 当函数重载遇到函数指针
- ssh框架下checkbox翻页选中问题
- [hackerrank]Fibonacci Modified
- mysql学习总结(三)---SQL 模糊查询(一)
- Java中的异或
- 解决在AS中使用Genymotion时发生error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037:
- PHP百钱买百鸡算法(穷举算法)
- 常用加密算法介绍--DES3
- iOS开发环境xcode搭建
- You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法