json中的复选框并传值到后台的批量删除

简单记录一下,开发中遇到在页面list 中要完成批量删除操作,当页面是后台的json 字符串返回得到的list列表时,首先页面上的json显示如下:

      checkbox:true,
               idField:"sysno",
                      columns: [{
                    field: "name",
                        title: "姓名",
                        width: "15%",
                        styleCls: "f-tac"
                    }, {
                    field: "sex",
                        title: "性别",
                        width: "15%",
                        styleCls: "f-tac",
                        formatter: function (value, row) {
                        if(value == "1"){
                        return "男";
                        }else{
                        return "女";
                        }
                        }
                    },{
                    field: "jobannex",
                        title: "港府工种",
                        width: "20%",
                        styleCls: "f-tac",
                    },]

这里的 checkbox:true时,页面上的list列表就有复选框了。

这里获取复选框后,如何得到勾选记录的id呢?

上述使用的json 中有一个属性是: idField:"sysno", 在勾选记录时,就绑定了对应记录的id。

这里需要在页面上写一个js 方法,获取勾选的id ,可能是一个或者多个。方法是参考网上的:

function selected(){

var perTag = document.getElementsByName("row_id");             
              var selectTag = "";
              for(var i = 0;i < perTag.length;i++){
              if(perTag[i].checked){
              selectTag += perTag[i].value + ",";
              }
             
           
              if(perTag == "" || perTag.length == 0){
              layer.alert("请至少选择一个人!");
              }
              selectTag = selectTag.substring(0,selectTag.length-1);

window.location.href ="url ?selectTag "+selectTag ;

}

这里的document.getElementsByName() 是获取input标签的对应name 属性,最终获得一个勾选记录的数组。

我本地这里代码是这样的:html += "<td class=\"f-tac\"><input type=\"checkbox\" name=\"row_id\" value=\"" + obj[opts.idField] + "\"/></td>";

而perTag[i].value则是获取勾选记录的id。

这样就通过url 可以将勾选记录id 字符串 传到后台的对应的方法中。

后台方法中,例如 xxxAction 后,就可以将id的字符串解析成数组。

StringBuffer delSql = new StringBuffer();
String[] arr = selectTag .split(",");

for(int i = 0 ; i < arr.length;i++ ){

xxxService.del(arr[i]);

}

这样就可以粗略完成一个批量删除功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值