jQuery的基本操作(公司学到的)

重要步骤就省略了………………

1、删除实现无刷新操作
$(function () {
$(".delroom").live("click", function () {
var that = this;
    var rid = $(this).attr("ref");

                VMsg.Confirm("您确认删除此信息吗?", function () {
                    $.post("cuisine_a.aspx?action=delroom", { DishSortID: rid }, function (r) {  //post传值,想该页面发送数据DishSortID,发送成功时回调函数function(r)
                        if (r == "True") {
                            VMsg.AlertSuccess("删除成功!");
                            $(that).parents("tr").remove();

                        }
else {

                               VMsg.AlertError("此分类下已有菜品,不能直接删除!");
                        }
                    }, "text");
                });
            });
            $('table:not(.edit) tr:not([th]):even').addClass('even');
            $('table:not(.edit) tr:not([th]):odd').addClass('odd');

    });


获得 test.php 页面的内容,并存储为 XMLHttpResponse 对象,并通过 process() 这个 JavaScript 函数进行处理:

jQuery 代码:
$.post("test.php", { name: "John", time: "2pm" },
   function(data){
     process(data);
   }, "xml");

<a class="operating operating_yellow delroom" href="#" ref="<%# Eval("DishSortID") %>"><img src="/images/a_call_delete.png">删除</a>

前台用jquery post传值后,后台用request[“action”]和Request["DishSortID"]来获取post传过去的值,然后在后台写相关的删除和编辑方法,此方法会用到sql语句对数据库进行相关操作

if (Request["action"].ToLower() == "delroom") DelRoom("sort");

/// <summary>
        /// 删除单个菜系
        /// </summary>
        void DelRoom(string type)
        {
            int DishSortID = 0;
            int ShopID = CurrentUser.ShopID;
            int AppID = CurrentUser.AppID;
            if (int.TryParse(Request["DishSortID"], out DishSortID))
            {
                if (DishTagDal.existTag(ShopID, AppID, type, DishSortID))
                {
                    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "", "alert('此分类下已经有菜品,禁止删除!');", true);
                }
                else Output(DishTagDal.DelRoom(type, CurrentUser.AppID, CurrentUser.ShopID, DishSortID) ? "True" : "False");
            }
        }

2、如果编辑的话,需要涉及到传值问题,本页面会有个弹出层,然后从表中取值,
$(".editroom").live("click", function () {
                var roomid = $(this).attr("ref"); //返回属性值
                var tds = $(this).parents("tr").find("td"); //获取tr的父元素,然后找td
                var name = tds.eq(2).text(); //获取索引值index为2的文本值
                var imgpath = tds.eq(1).find("img").attr("src");//获取索引值为1,然后找到img,获取img的src属性值
                var ImgName = tds.eq(1).find("img").attr("ref");//获取索引值为1,然后找到img,获取img的ref属性值
                var p = tds.eq(0).text();

                $("#img_id").attr("src", imgpath); //从这开始,对弹出框开始赋值了,取id为img_id的img,然后设置其src的属性值为imgpath,这里imgpath上面已经获取到值了
                $("#Img_url").val(ImgName);//value值为imgName
                $("#cuisine_name").val(name);
                $("#OrderID").val(p);

                artDialog({//弹出层相关设置
                    content: $("#SaveRoom")[0],//弹出框内容为id为SaveRoom的div
                    title: "编辑分类",
                    okVal: "保存",
                    ok: function () {//点击确定按钮,执行下面操作
                        SaveRoom("edit", roomid);//单独把这个方法写出来
                        return false;
                    },
                    cancelVal: '关闭',
                    cancel: true,
                    lock: true
                });
            });

function SaveRoom(action, rid) {
            VerifyByPoshyTip.init([//验证状态,是否符合标准,然后才能对数据库操作
                { 'ContentID': 'cuisine_name', 'AimID': 'cuisine_name', 'TipContent': '名称最多可以输入16个字符,请修改!', 'fn': function () { return $("#cuisine_name").val().Trim().checkScope(1, 16); } },
                { 'ContentID': 'Img_Tip', 'AimID': 'Img_Tip', 'TipContent': '请您上传正确的图片!', 'fn': function () { return $("#Img_url").val().Trim() != ""; } },
                { 'ContentID': 'OrderID', 'AimID': 'OrderID', 'TipContent': '请您输入正确的数字!', 'fn': function () { return $("#OrderID").val().isInt(); } }
            ]);
            if (!VerifyByPoshyTip.V()) return false;
            var room_name = $("#cuisine_name").val(); //取值
            var orderid = $("#OrderID").val(); //排序
            var path = $("#Img_url").val();
            if (room_name.length > 0) {//这里条件貌似不够,但是不影响操作
                $.post("cuisine_a.aspx?action=" + action, { name:room_name, order: orderid, path:path, rid: rid }, function (r) {//这里jQuery的post方法,相关原理可以百度,传值过去,就要看后台有没有相应操作,从这句就应该进入后台程序,相关程序执行完成后,会有一个output输出,接着进行下面操作,如果输出(返回)的是True,则接着下面的操作
                    if (r == "True") {
                        VMsg.Waiting({ time: 2, content: action == "edit" ? "修改成功" : "新增成功", icon: "succeed", close: function () {
                            location.reload();
                        }
                        });
                    } else {
                    VMsg.AlertError(action == "eidt" ? "您输入的菜品分类已经存在,请重新输入!" : "您输入的菜品分类已经存在,请重新输入!");
                    }
                }, "text");
            }
      }


if (Request["action"].ToLower() == "delroom") DelRoom("tag");
else SaveRoom(sql);

/// <summary>
        /// 保存/修改标签
        /// </summary>
        private void SaveRoom(string type)
        {
            string name = Request["name"].Trim();//标签名称
            int ShopID = CurrentUser.ShopID;
            int AppID = CurrentUser.AppID;
            int roomid = 0;
            int orderid = Convert.ToInt32(Request["order"]);
            string action = Request["action"].ToString();
            if (action == "edit")//如果是编辑,判断是否与其他标签名称相同;如果添加,则判断是否与所有标签名称相同
            {
                int TagID = Int32.TryParse(Request["rid"], out roomid) ? roomid : 0;//编辑,则可以得到主键
                if (DishTagDal.existeditTag(TagID, ShopID, AppID, name)) return;//为真,则表示与其他标签名相同
            }
            else if (DishTagDal.existTag(ShopID, AppID, name))
            {
                return;
            }
            DishTag model = new DishTag()//用这种方式,把数据给model层
            {
                TagName = name,
                TagType = type,
                AppID = CurrentUser.AppID,
                ShopID = CurrentUser.ShopID,
                OrderID = orderid,
                TagID = Int32.TryParse(Request["rid"], out roomid) ? roomid : 0//主键
            };
            if (string.IsNullOrEmpty(name)) Output(true, "", Context);
            else
            {
                Output(DishTagDal.SaveTag(model).ToString());
            }

        }




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值