1. 将前台jsp页面中的所有你要用到的checkbook的name设为相同,如下:
<!-- 注意: 这个要放在一个大的<form>标签内 -->
<c:forEach items="${emps}" var="emp" varStatus="vs">
<tr>
<td><input type="checkbox" name="empno" value="${emp.empno}"/></td>
<td>${vs.count }</td> <!-- 从1开始 -->
<td>${emp.empno }</td>
<td>${emp.ename }</td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${emp.hiredate}" /></td>
</tr>
</c:forEach>
2. 一次全部选中所有行操作:
<!-- 注意: 这个input标签要和上面的内容放在同一个大的<form>标签内 -->
<input type="checkbox" name="selempno" onclick="checkAll('empno',this)">
function checkAll方法定义如下:
/* 全选*/
function checkAll(who, obj){
var curCheckBox = document.getElementsByName(who);
for(i = 0; i < curCheckBox.length; i++){
curCheckBox.item(i).checked = obj.checked;
}
}
3. 一键操作,设置通用function方法,如下:
<!-- 单个或批量删除员工 -->
<input type="button" value="Delete" onclick="formSubmit('batchDeleteEmps','_self');this.blur();">
通用方法formSubmit,如下:
function formSubmit (url,sTarget){
<!-- 此处加入了校验 -->
var flag=false;
<!-- 为保持通用性,此处进行判断之后,再做进一步操作 -->
if(url=="batchDeleteEmps"){
var dempno=document.getElementsByName("empno");
for(var i=0;i<dempno.length;i++){
if(dempno[i].checked){
flag=true;
}
}
if(!flag){
alert("请选择需要删除的用户!");
return;
}
if(window.confirm("确认删除吗?")){
<!-- forms:数组,此时我所提交的jsp页面中有三对form标签,而需要操作的为第三个,所以这里角标设为2. -->
document.forms[2].target = sTarget
document.forms[2].action = url;
document.forms[2].submit();
return true;
}
}
}
4. 后台Mybatis中接口与.xml文件的配置,可参考以下文章: