多选框的批量操作



 

 

1.如上图显示,点击最上边的会把所有的多选框选中,即全选,

 

<INPUT onClick="checkAll(this.checked)" type="checkbox" />

  触发这个事件的js为:

 

 

function checkAll(checked){
	var objs=document.getElementsByName("ids");
	if(objs!=null && objs.length>0){
		for(var i=0;i<objs.length;i++){
			objs[i].checked=checked;
		}
	}
}

 每一行最左边的多选框对应的是下面这个:

 

 

<INPUT name="ids" type="checkbox" value="<s:property value="adId"/>"/>

 2.若是做批量删除,则可以点击删除按钮,触发del()事件

function del(){
	if(isCheck()){
		if(confirm("确定删除操作么?此操作无法回退!")){
                        //点击确定发出ajax请求,这是最简单的ajax请求方式
			$.post("advert_del.do","ids="+getCheckValue(),delComplete,"text");
		}
	}else{
		alert("请选择要操作的记录!");
	}
}
function delComplete(data){
     if(data!=""){
	var datas=data.split(";");
	   if(datas!=null && datas.length>0){
		for(var i=0;i<datas.length;i++){
	           if(datas[i]!="" && document.getElementById("tr"+datas[i])!=null){
			document.getElementById("tr"+datas[i]).parentNode.removeChild(document.getElementById("tr"+datas[i]));
		   }
		}
	    }
	}
}

 3.首先判断是否选中,调用的是ischeck()方法:

//判断是否有多选框被选中
function isCheck(){
	var objs=document.getElementsByName("ids");
	if(objs!=null && objs.length>0){
		for(var i=0;i<objs.length;i++){
			if(objs[i].checked){
				if(objs[i].checked){
					return true;
				}
			}
		}
	}
	return false;
}
//获取多选框选中的值ids的样式为1;2;3;4
function getCheckValue(){
	var checkValue="";
	var objs=document.getElementsByName("ids");
	if(objs!=null && objs.length>0){
		for(var i=0;i<objs.length;i++){
			if(objs[i].checked){
				checkValue+=objs[i].value+";";
			}
		}
	}
	return checkValue;
}
//只需要一个多选框被选中
function isCheckOne(){
	var value=getCheckValue();
	if(value!=null && value!=""){
		var valueArr=value.split(";");
		if(valueArr!=null && valueArr.length==2){
			return true;
		}else{
			return false;
		}
	}
	return false;
}
//获取仅选中一个多选框的值
function getCheckOneValue(){
	var objs=document.getElementsByName("ids");
	if(objs!=null && objs.length>0){
		for(var i=0;i<objs.length;i++){
			if(objs[i].checked){
				return objs[i].value;
			}
		}
	}
	return "";
}
//将所有选中的值用;分割成数组的形式
function getCheckValueArr(){
	return getCheckValue().split(";");
}

 删除的后台处理代码

 

/**
	 * 删除
	 * @return
	 */
	public String del(){
		if (ids!=null && ids.trim().length()>0) {
			StringBuilder sb=new StringBuilder();
			String[] idArr=ids.split(";");
			if (idArr!=null && idArr.length>0) {
				for (int i = 0; i < idArr.length; i++) {
					if (idArr[i].trim().length()>0) {
						try {
							depatureCityCitiesAr=depatureCityCitiesArService.findById(Integer.parseInt(idArr[i]));
							if (depatureCityCitiesAr!=null) {
								depatureCityCitiesArService.delCity(depatureCityCitiesAr.getDepcCityarId());
								sb.append(idArr[i]+";");
							}
						} catch (Exception e) {
							DBProException(e);
						}
					}
				}
			}
			write(sb.toString(), "UTF-8");
		}
		return null;
	}
 

 

 

 

 
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值