删除功能(Ajax版)

单个删除

删除按钮:

var delBtn = $("<a href='#' class='del'>删除</a>");

注意:

//此事件不可用
$(".del").click(function(){
	var id =$(this).parents("tr").find("td:eq(1)").text();
	alert(id);
});

以上这段代码不起作用的。因为,删除按钮是用DOM动态生成。 DOM生成的UI,需要如下代码绑定事件。

//单个删除事件
$(document).on("click", ".del", function () {
	var id = $(this).parents("tr").find("td:eq(1)").text();
	if (confirm("确定删除" + id + "吗?")) {
	    $.ajax({
            url: "${ctx}/emp/" + id,
    		type: "delete",
    		success: function (result) {
    		    if (result.code == 100) {
        			alert(result.msg);
        			//删除后跳转到当前页面
        			toPage(currentPage);
    		    }
    		}
	    });
	}
});

全选/全不选

与之前的写法一样

 //全选/全不选
$("#checkAll").click(function () {
    $(".checkItem").prop("checked", $(this).prop("checked"));
	//这里不能用attr
});

$(document).on("click", ".checkItem", function () {
    var flag = $(".checkItem:checked").length == $(".checkItem").length;
    $("#checkAll").prop("checked", flag);
    //这里不能用attr,只能用prop
});

批量删除

//批量删除事件
$("#batchDel").click(function () {
	var ids = ""; //保存拼接id
	var count = 0; //统计选中个数
	$.each($(".checkItem:checked"), function (index, item) {
	    ids += item.value + ",";
	    count++;
	});

	if (count == 0) {
	    alert("请选中要删除的记录");
	    return false;
	}

	ids = ids.substring(0, ids.length - 1);
	if (confirm("确定删除" + ids + "吗?")) {
	    $.ajax({
    		url: "${ctx}/emp/" + ids,
    		type: "delete",
    		success: function (result) {
    		    if (result.code == 100) {
                    alert(result.msg);
                    //删除后跳转到当前页面
                    toPage(currentPage);
                    //全选复选框变为全不选
                    $("#checkAll").prop("checked", false);
    		    }
    		}
	    });
	}
});
@ResponseBody
@RequestMapping(value="/emp/{ids}",method = RequestMethod.DELETE)
public Msg delete(@PathVariable  String ids){
	//批量删除
	if(ids.contains(",")){
	    String[] arr = ids.split(",");
	    List<Long> list = new ArrayList<>();
	    for (String e : arr) {
    		Long id = Long.parseLong(e);
    		list.add(id);
	    }
	    empService.batchDel(list);
	}
	//单个删除
	else{
	    Long id = Long.parseLong(ids);
	    empService.delele(id);
	}
	return Msg.success();
}

转载于:https://my.oschina.net/mondayer/blog/3039137

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解答这个问题。 要实现datatable发送ajax删除和添加功能,你需要进行以下步骤: 1. 在datatable的初始化中,设置删除和添加按钮的相关参数,例如按钮的class、id等。 2. 编写ajax请求的代码,用于向后端发送删除或添加数据的请求。 3. 在删除或添加按钮的点击事件中,调用ajax请求的代码,并传递相应的参数。 以下是一个简单的示例代码: ``` // 初始化datatable var table = $('#example').DataTable({ // 设置删除和添加按钮的class和id columnDefs: [{ targets: [4], data: null, defaultContent: "<button class='btn btn-danger btn-sm delete-btn' id='delete-btn'>删除</button><button class='btn btn-success btn-sm add-btn' id='add-btn'>添加</button>" }] }); // 删除按钮点击事件 $('#example tbody').on('click', '.delete-btn', function () { var data = table.row($(this).parents('tr')).data(); // 发送ajax请求 $.ajax({ url: '/delete', type: 'POST', data: {id: data[0]}, success: function () { // 删除成功后,重新加载datatable table.ajax.reload(); } }); }); // 添加按钮点击事件 $('#add-btn').click(function () { // 获取添加数据的表单数据 var formData = $('#add-form').serialize(); // 发送ajax请求 $.ajax({ url: '/add', type: 'POST', data: formData, success: function () { // 添加成功后,重新加载datatable table.ajax.reload(); } }); }); ``` 在上述代码中,我们首先在datatable的初始化中设置了删除和添加按钮的class和id。然后,在删除和添加按钮的点击事件中,分别调用了发送ajax请求的代码,并传递相应的参数。最后,当删除或添加成功后,重新加载了datatable。 需要注意的是,具体的ajax请求的参数和返回值需要根据你的后端代码进行相应的调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值