如何在html标记中调用的函数里传递对象

来源:转载

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

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

大体代码如下:



01$(".delete").click(function() {

02    if(confirm("您确定要删除?")) {

03        vart = $(this);

04          

05        $.ajax({url: $(t).attr("href"), 

06            type: 'get',

07            dataType: 'xml',

08            timeout: 1000,

09            error:function(xhr, ajaxOptions, thrownError){

10                alert("删除失败!发生HTTP"+ xhr.status + "错误!"+thrownError);

11            },

12            success:function(xml){

13                alert("成功!");

14                $(t).parent().parent().remove();

15            }});    

16    }

17    returnfalse;

18});




删除的链接设置如下:<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的返回结果删除前台页面的相关信息。



分享给朋友:
您可能感兴趣的文章:
随机阅读: