三大框架批量删除处理

批量处理的基本思路:js代码中获取每个被select的id,ajax传递后台,后台循环获取参数,进行删除操作

//定义一个全局数组,保存被选中的id
		var myArray = new Array();
		var status = false;
		myTable.on('select', function(e, dt, type, index) {
			if (type === 'row') {
				$(myTable.row(index).node()).find('input:checkbox').prop(
						'checked', true);
				status = true;
			}
		});
		myTable.on('deselect', function(e, dt, type, index) {
			if (type === 'row') {
				$(myTable.row(index).node()).find('input:checkbox').prop(
						'checked', false);
				status = false;
			}
		});

		/
		//table checkboxes
		$('th input[type=checkbox], td input[type=checkbox]').prop('checked',
				false);

		//select/deselect all rows according to table header checkbox
		$(
				'#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]')
				.eq(0).on('click', function() {
					var th_checked = this.checked;//checkbox inside "TH" table header

					$('#dynamic-table').find('tbody > tr').each(function() {
						var row = this;
						if (th_checked) {
							myTable.row(row).select();
							myArray.push(row.cells[1].innerHTML);
						}

						else {
							myTable.row(row).deselect();
							var val = row.cells[1].innerHTML;
							removeByValue(myArray, val);
						}

					});
				});

		function removeByValue(arr, val) {
			for (var i = 0; i < arr.length; i++) {
				if (arr[i] == val) {
					arr.splice(i, 1);
					break;
				}
			}
		}

		//select/deselect a row when the checkbox is checked/unchecked
		$('#dynamic-table').on('click', 'td input[type=checkbox]', function() {
			var row = $(this).closest('tr').get(0);
			if (this.checked) {
				myTable.row(row).deselect();
				var val = row.cells[1].innerHTML;
				removeByValue(myArray, val);
			}

			else {
				myTable.row(row).select();
				myArray.push(row.cells[1].innerHTML);
			}

		});

		$("#delete")
				.click(
						function() {
							if (myArray.length == 0 && status == false) {
								alert("您还没有选中~");
								return;
							}
							if (window.confirm("确定要删除吗?")) {
								$
										.ajax({
											url : "/TA/pro_del",
											async : true,
											type : "POST",
											data : {
												ids : JSON.stringify(myArray)
											},
											dataType : 'json',
											success : function(data) {
												if (data == 1)
													alert("删除成功");
												else
													alert("删除失败");
											},
											error : function(data) {
												alert("删除成功");
												window.location.href = "http://localhost:8080/TA/pro_adminlist";
											},

										});

							} else {
								return;
							}
						});

后台代码:

public String del() throws IOException {
		String ids = ServletActionContext.getRequest().getParameter("ids");
		JSONArray ary = JSONArray.fromObject(ids);
		List<String> list = null;
		if (ary != null || ary.size() != 0) {
			list = (List<String>) JSONArray.toCollection(ary);
		}
		try {

			for (String id : list) {
				fundProService.delete(id);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().write(JSONArray.fromObject(1).get(0).toString());
		System.out.println(JSONArray.fromObject(1).get(0).toString());
		return "pro";
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值