一、将前台jsp页面中的所有你要用到checkbox的name值设为相同
二、在后台获取参数时,使用数组获取:
三、进行数组必要的格式转换,再进行sql操作
Jsp 页面
全选按钮的函数
删除员工的函数
//后台获取参数
//数据库修改值批量更新
//dao层方法具体实现
底层dao
//效果图
[img]http://dl2.iteye.com/upload/attachment/0127/4899/2f9a22e3-d4c5-30d9-8614-5dad28f50c91.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0127/4901/09b15c23-c81f-326d-b5b4-dddb7490d4b8.png[/img]
二、在后台获取参数时,使用数组获取:
三、进行数组必要的格式转换,再进行sql操作
Jsp 页面
<input type='checkbox' name='chk' id='chk' value="+empId+">
<input type="checkbox" name="allchk" id="allchk" onclick="allCheck(this);"/>全选
<input class="btnBlue mL10 ygDelRow" value="删除" onclick="deleteContactor();" type="button">
<input id="delstrs" value="" type="hidden">
全选按钮的函数
//全选按钮
function allCheck(check){
var checkbox=document.getElementsByName("chk");
if(check.checked){
for(var i=0;i<checkbox.length;i++){
checkbox[i].checked="checked";
}
}else{
for(var i=0;i<checkbox.length;i++){
checkbox[i].checked="";
}
}
}
删除员工的函数
//删除员工
function deleteContactor(){
var empId="";
var sel=document.getElementsByName("chk");//获取checkbox的值
for( var i=0;i<sel.length;i++)
if(sel[i].checked==true)
empId+=sel[i].value+"~";
if(empId === undefined || empId === ''){
alert("请至少选择一条记录!");
return ;
}
$("#delstrs").val(empId);
$.popup($(".zctjcg"));
$('.zctjcg').show();
$('.maskBlack').show();
}
//确认删除
function confirmDelete(){
// if(confirm("您确定删除选定的员工信息?")){
var empId= $("#delstrs").val();
var url = GETFRONTUSERSTRING+"doDelEmp.action";
var param = {
empId:empId
};
try{
new AjaxRequest(url,{
parameters:param,
onComplete:function(data){
$(".zctjcg").hide();
$(".maskBlack").hide();
doStaffQuery();
},
onFail:function(){
return false;
}
});
}catch(e){
alert(e.message);
$(".zctjcg").hide();
$(".maskBlack").hide();
return;
}
}
//后台获取参数
String empId = this.getAjaxParameter("empId");
String [] empIds = empId.split("~");
/**
* 获取Get方式的Ajax请求参数解码值
* 实际上就是调用request.getParameter方法获得参数,然后再进行编码转换
*/
public String getAjaxParameter(String paramName) {
if (paramName == null) {
return null;
}
String value = this.getRequest().getParameter(paramName);
String decodedValue = this.getDecodedValue(value);
return decodedValue;
}
//数据库修改值批量更新
ManagerFactory.getEnterpriseEmpManager().updateEmpStatus(empIds,sessionUser.getUserId());
//dao层方法具体实现
public int[] batchUpdateEmpStatus(final String[] empIds, final String userId) {
String sql = "update aes_enterprise_emp p set status = ? ,operator = ? , operatetime = ? where p.enterpriseempid=?";
return this.batchUpdate(sql.toString(), new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int index) throws SQLException {
String empid=empIds[index];
ps.setString(1, "0");
ps.setString(2, userId);
ps.setTimestamp(3,new Timestamp(new Date().getTime()));
ps.setString(4, empid);
}
@Override
public int getBatchSize() {
return empIds.length;
}
});
}
底层dao
protected int[] batchUpdate(String sql, BatchPreparedStatementSetter setter) {
logManager.info(this.getClass(), sql);
return getJdbcTemplate().batchUpdate(sql, setter);
}
//效果图
[img]http://dl2.iteye.com/upload/attachment/0127/4899/2f9a22e3-d4c5-30d9-8614-5dad28f50c91.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0127/4901/09b15c23-c81f-326d-b5b4-dddb7490d4b8.png[/img]