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的返回结果删除前台页面的相关信息。

  • 相关阅读:
    Icident event 分析
    innodb buffer pool相关特性
    备库Seconds_Behind_Master的计算
    savepoint原理
    layer探框
    解决layui表格和下拉框同时使用时,下拉框被表格遮当问题
    layui switch开关按钮
    formSelects 4.x多选下拉框
    java如何调用php接口,并获取值
    layui时间范围选择器
  • 原文地址:https://www.cnblogs.com/jasondan/p/2100394.html
Copyright © 2011-2022 走看看