【1】批量新增和删除的时候如何判断是否有至少选中一条数据$("#add").click(function(){ //用于批量(获取已选的复选框) var test = $(“input[name=‘btSelectItem’]:checked”); var checkBoxValue = “”; test.each(function(){ checkBoxValue += $(this).val()+","; }) checkBoxValue = checkBoxValue.substring(0,checkBoxValue.length-1); // todo 验证 var rows = $(’#exampleTable’).bootstrapTable(‘getSelections’); // 返回所有选择的行,当没有选择的记录时,返回一个空数组 if (rows.length == 0) { toastr.error(“请至少选择一条供应商”); return; }else{ var typeid = $("#typeid").val(); $.ajax({ cache : true, type : “POST”, url : “/base/supSupt/save?typeid="+typeid +"&ids=” + encodeURIComponent(checkBoxValue), data : null, async : true, error : function(request) { toastr.error(“Connection error”); }, success : function(data) { if (data.code == 0) { toastr.success(“操作成功。”); $(’#modal-addSup’).modal(‘hide’); //refreshsupdetails(); window.open(); } else { toastr.error(data.msg); } } }); }})【2】表单的话选择下面这种采用bootstrap官方的写法$("#add").click(function(){ var rows = $(’#exampleTable’).bootstrapTable(‘getSelections’); // 返回所有选择的行,当没有选择的记录时,返回一个空数组 if (rows.length == 0) { toastr.error(“请选择要添加的供应商”); return; }else{ var ids = new Array(); $.each(rows, function(i, row) { ids[i] = row[‘id’]; }); console.log(ids); $.ajax({ type : ‘POST’, data : { “ids” : ids }, url : ‘/base/supSupt/save?typeid=’+$("#typeid").val(), success : function(r) { if (r.code == 0) { toastr.success(r.msg); window.open(); } else { toastr.error(r.msg); } } }); }})后台代码:/** * 保存 */@ResponseBody@PostMapping("/save")@RequiresPermissions(“base:supSupt:add”)public R save( SupSuptDO supSupt,Model model, @RequestParam(“typeid”) String typeid, @RequestParam(“ids[]”) String[] ids){ //将拿到的ids(就是供应商的id=supid)按逗号进行分割成数组 int i = 0; for (String supid : ids) { i++; String uuid = UUID.randomUUID().toString().replace("-", “”); supSupt.setToid(uuid); supSupt.setTypeid(typeid); supSupt.setSupid(supid); if(supSuptService.save(supSupt)>0){ if(ids.length == i){ return R.ok(); }else{ continue; } }else{ return R.error(); } } return R.error();}【3】复选框的全选和禁止全选//html:<th style=“width: 40px;"> <label class=“mt-checkbox mt-checkbox-single mt-checkbox-outline”> <input type=“checkbox” class=“group-checkable” data-set="#sample_1 .checkboxes” /> <span></span> </label></th>js脚本:$(".group-checkable").click(function(event) { $(this).toggleClass(“checkboxes”); var isChecked = $(’.group-checkable’).prop(‘checked’); if(isChecked) { $(‘input[name=“ids”]’).prop(“checked”, true); } else { $(‘input[name=“ids”]’).prop(“checked”, false); }});==tips==:因为这个复选框是要提交的,所以要在表单中添加from表单,然后$("#表单id").serialize();自然传输到后台即可拿到对应id数组【4】注意:可以将数组放到FromData中;可以将数组放到路由中;也可以在dto中声明数组变量,然后页面就是数组名var bidfiletypeids = new Array(); //定义一数组bidfiletypeids = checkBoxValue.split(","); //字符分割
复选框
March 13, 2019 · 2 min · jiezi