在这里首先用2中方法来写一下。
HTML:这里是一个jstl 的一个for循环
方法一 js :这是我自己想到的一个 方法!
function deleteAll(){
var obj=document.getElementsByName("getByName");
var checkval = new Array();
if(confirm("确定要删除吗!")){
for(var i=0;i<obj.length;i++){
if(obj[i].checked){
checkval+=obj[i].value+",";
}
}
}
------------------------------最近知道的一个简单办法如图下:------------------------------------------
我们这里得到idsStr就是(1,2,3,4)这样的id
---------------------------------------------------------------------------
$.post("deleteAll",{checkval:checkval.toString()},function (date){
if (false == date) {
alert("please try connecting later!");
} else {
alert("删除成功!");
window.location.href=window.location.href;
}
})
}
首先这边取到的值是 1,2,3,4,5,6, 末尾多了个逗号,没事到前台去掉就ok了。
后台Controller:
//删除单个或者多个
@RequestMapping("deleteAll")
public String deleteAll(String checkval){
customerGroupsService.deleteAll(checkval);
return "redirect:CustomerGroups";
service层:对数据进去修改,用String的subsstring去掉最后一个逗号
public void deleteAll(String checkval) {
String id=checkval.substring(0, checkval.length()-1);
customerGroupsDao.deleteAll(id);
}
Dao层:我们可以发现 Dao 中所需要的条件就是 前台传来的
public void deleteAll(String id) {
String hql="delete from CustomerGroups where FCGROUPID in("+id+")";
Query query=this.getSession().createQuery(hql);
query.executeUpdate();
方法二:js:这里取到的 数据是1,2,3,4,5,6 就不需要去更改了
var obj=document.getElementsByName("getByName");
var checkval = new Array();
for(k in obj){
if(obj[k].checked)
checkval.push(obj[k].value);
}
if(checkval.length==0){
alert("请选择至少一条数据");
return;
}else{
if(confirm("确定要删除吗!")){
$.post("deleteAll",{checkval:checkval.toString()},function (date){
if (false == date) {
alert("please try connecting later!");
} else {
alert("删除成功!");
window.location.href=window.location.href;
}
})
}
}
后台Controller:通上个Controller
Serivce :
public void deleteAll(String checkval) {
customerGroupsDao.deleteAll(checkval);
}
Dao : 不变。