终于知道为什么对一个元素的操作有时候用jquery的click事件,而有时候又写在元素内部的onclick事件了

想通过ajax来实现 删除,然后恢复这个功能,但是发现一旦点击了删除之后,不刷新页面的前提下再恢复是不能实现的,原因很简单,因为我一直是用jquery的click事件做的,因为当页面加载后,此时页面并没有恢复的按钮,自然也不会为其绑定上恢复的事件,所以当删除后在恢复是无效的,如果页面里有几个恢复按钮,当页面加载完,只会为这几个恢复按钮绑定click事件,当你在删除一个后再恢复是不会再为其绑定新的click事件的,所以就出现了这种问题,解决办法很简单,可以都换成onclick事件就ok 了。

 

这是原来的错误写法

            //编辑
            //$(".update").click(function () {
            //    var id = $(this).parent().parent().children().eq(0).text();
            //    $.ajax({
            //        url: "../xmlhttp/GameList.aspx",
            //        data: { ope: 2, gameid: id },
            //        type: "get",
            //        dataType: "json",
            //        success: function (data) {
            //            if (data != null) {
            //                $("#ContentPlaceHolder1_gameId").val(id);
            //                $("#ContentPlaceHolder1_name").val(data.Name);
            //                $("#ContentPlaceHolder1_motto").val(data.Motto);
            //                $("#ContentPlaceHolder1_introduce").val(data.Introduce);
            //                $("#ContentPlaceHolder1_avatar").val(data.Avatar);
            //                $("#ContentPlaceHolder1_conImg").val(data.ConImg);
            //                $("#ContentPlaceHolder1_entryUrl").val(data.EnterUrl);
            //                $("#ContentPlaceHolder1_first").prop("checked", data.IsFirst);
            //                $("#ContentPlaceHolder1_only").prop("checked", data.IsOnly);
            //                $("#ContentPlaceHolder1_gift").prop("checked", data.IsGift);
            //                $("#ContentPlaceHolder1_hot").prop("checked", data.IsHot);

            //                $("#GameModal").modal('show');
            //            }
            //            $("#GameModal").modal('show');
            //        }
            //    });

            //});

            //删除
            //$(".delete").click(function () {
            //    var id = $(this).parent().parent().children().eq(0).text();
            //    var o = $(this);

            //    $.ajax({
            //        url: "../xmlhttp/GameList.aspx",
            //        data: { ope: 1, gameid: id, isOk: true },
            //        type: "get",
            //        dataType: "",
            //        success: function (data) {
            //            if (data == "OK") {
            //                o.removeClass("delete").addClass("recover").text("恢复");
            //                o.parent().parent().children().eq(9).text("已删除");
            //                o.prev().remove();
            //            }
            //        }
            //    });
            //});
            //document.onclick = function (e) {
            //    var e = e || window.event;
            //    var tar = e.target || e.srcElement;
            //    if ($(tar).hasClass('recover')) {
            //        alert(1);
            //    }
            //}
            //恢复
            //$(".recover").click(function () {
            //    var id = $(this).parent().parent().children().eq(0).text();
            //    var o = $(this);

            //    $.ajax({
            //        url: "../xmlhttp/GameList.aspx",
            //        data: { ope: 1, gameid: id, isOk: false },
            //        type: "get",
            //        dataType: "",
            //        success: function (data) {
            //            if (data == "OK") {
            //                o.parent().parent().children().eq(9).text("未删除");
            //                o.parent().empty().append("<a href=\"javascript:void(0)\" class=\"update\">编辑</a>&nbsp; &nbsp;&nbsp;<a href=\"javascript:void(0)\" class=\"delete\">删除</a>");
            //            }
            //        }
            //    });
            //});

 

这是正确的写法

 //编辑
        function Update(value) {
            var id = $(value).parent().parent().children().eq(0).text();
            $.ajax({
                url: "../xmlhttp/GameList.aspx",
                data: { ope: 2, gameid: id },
                type: "get",
                dataType: "json",
                success: function (data) {
                    if (data != null) {
                        $("#ContentPlaceHolder1_gameId").val(id);
                        $("#ContentPlaceHolder1_name").val(data.Name);
                        $("#ContentPlaceHolder1_motto").val(data.Motto);
                        $("#ContentPlaceHolder1_introduce").val(data.Introduce);
                        $("#ContentPlaceHolder1_avatar").val(data.Avatar);
                        $("#ContentPlaceHolder1_conImg").val(data.ConImg);
                        $("#ContentPlaceHolder1_entryUrl").val(data.EnterUrl);
                        $("#ContentPlaceHolder1_first").prop("checked", data.IsFirst);
                        $("#ContentPlaceHolder1_only").prop("checked", data.IsOnly);
                        $("#ContentPlaceHolder1_gift").prop("checked", data.IsGift);
                        $("#ContentPlaceHolder1_hot").prop("checked", data.IsHot);

                        $("#GameModal").modal('show');
                    }
                    $("#GameModal").modal('show');
                }
            });
        }

        //删除
        function Delete(value) {
            var id = $(value).parent().parent().children().eq(0).text();
            var o = $(value);

            $.ajax({
                url: "../xmlhttp/GameList.aspx",
                data: { ope: 1, gameid: id, isOk: true },
                type: "get",
                dataType: "",
                success: function (data) {
                    if (data == "OK") {
                        o.parent().parent().children().eq(9).text("已删除");
                        o.parent().empty().append("<a href=\"javascript:void(0)\" onclick=\"Recover(this)\">恢复</a>");
                    }
                }
            });
        }
        //恢复
        function Recover(value) {
            var id = $(value).parent().parent().children().eq(0).text();
            var o = $(value);

            $.ajax({
                url: "../xmlhttp/GameList.aspx",
                data: { ope: 1, gameid: id, isOk: false },
                type: "get",
                dataType: "",
                success: function (data) {
                    if (data == "OK") {
                        o.parent().parent().children().eq(9).text("未删除");
                        o.parent().empty().append("<a href=\"javascript:void(0)\" onclick=\"Update(this)\">编辑</a>&nbsp; &nbsp;&nbsp;<a href=\"javascript:void(0)\"  onclick=\"Delete(this)\">删除</a>");
                    }
                }
            });
        }

 

posted on 2017-07-18 09:54  奔游浪子  阅读(81)  评论(0)    收藏  举报

导航