先在页面上获取多选框的值,把获取到的id存入一个数组中,在地址上拼接一个参数吧ids传到后台:
var ids= new Array(); var i=0; $("input:checkbox[name='test']:checked").each(function() { // 遍历name=test的多选框 ids[i++]=$(this).val(); // 每一个被选中项的值 });
后台接收到一个String类型的ids,通过截取字符串的方法把所有的id通过都好的方式截取下来存到一个list集合中:
String[] id = ids.split(","); List<Integer> list = new ArrayList<Integer>(); for (int i=0;i<id.length;i++){ int a = new Integer(id[i]); list.add(a); }
dao层通过接收这个list集合进行遍历,把id通过where条件拼接到hql语句中:
String hql=""; for(int i=0;i<list.size();i++) { if(i==0) { hql = "id="+list.get(i); } else { hql = hql + "or id="+list.get(i); } } Session session= this.getSession(); Query q= session.createQuery("delete test where "+hql); q.executeUpdate();