zoukankan      html  css  js  c++  java
  • 如何在html标记中调用的函数里传递对象

    最近使用jquery结合Ajax开发一个中小型网站应用。在后台管理中要使用Ajax调用系统功能,根据Ajax的返回结果,使用jQuery对前台页面进行操作。

    比如,使用Ajax调用删除信息的后台功能,如果返回success,则调用删除一行信息。

    大体代码如下:

    $(".delete").click(function () {
        if (confirm("您确定要删除?")) {
            var t = $(this);
            
            $.ajax({url: $(t).attr("href"), 
    			type: 'get',
    			dataType: 'xml',
    			timeout: 1000,
    			error:function(xhr, ajaxOptions, thrownError){
    				alert("删除失败!发生HTTP" + xhr.status + "错误!"+thrownError);
    			},
    			success:function(xml){
    				alert("成功!");
    				$(t).parent().parent().remove();
    			}});	
        }
        return false;
    });
    

    删除的链接设置如下:<a class="delete" href="/article/delete/5">

    但是这种做法有个问题就是,文章列表要分页显示的,如果使用Ajax显示下一个分页,则在单击超级链接删除文章绑定的函数将失效。因为.delete的click函数是在页面加载完成后绑定的,如果采用Ajax分页的话,就必须重新绑定.delete的click。

    有时需要使用如下类似的方法,<a onclick="delete()" href="/article/delete/5">,这种方法的好处就是即便使用Ajax分页,也不用重新绑定链接的单击函数。但是在删除页面的某个html标签时就会遇到问题了,怎么传递对象呢?

    对于Javascript高手来说这种事情应该是再简单不过的事情了,在网上找了一些资料发现都不是我想要的,或许是我的问题不好表达吧,自己摸索了一下,可以这样传递对象:<a onclick="delete(this)" href="/article/delete/5">,这样就可以在调用delete的时候把a这个对象传递给delete函数了,然后再根据Ajax的返回结果删除前台页面的相关信息。

  • 相关阅读:
    创建你自己的依赖注入容器Ioc Container(转) dodo
    LINQ to XML 介绍(转) dodo
    使用jquery修复ie6/7不支持focus的bug dodo
    ASP.NET MVC 2强类型HTML辅助方法 dodo
    Ioc容器Autofac介绍 dodo
    serverU上传中文文件乱码 dodo
    LINQ语法二 dodo
    DIV+CSS解决IE6,IE7,IE8,FF兼容问题 dodo
    依赖注入容器Autofac与MVC集成 dodo
    mvc VIEW部分介绍 dodo
  • 原文地址:https://www.cnblogs.com/jasondan/p/2100394.html
Copyright © 2011-2022 走看看