jQuery之ajax删除详解

首先看html界面的代码:

<a href="javascript:;"  onclick="delete_order('<?php echo $item[order_id]; ?>')"><img src="images/admin/delete-icon.png" border="0" /></a>这个一个图片链接,表示删除。它并不跳转到某个界面,而是点击时出发click事件。

click事件执行delete_order()方法。这个方法中传递了一个参数,订单号。通过这个参数,可以去执行相应的删除操作。

下面jQuery代码:


代码如下:

<script>
    function delete_order(order_id){   
        confirm_ = confirm('This action will delete current order! Are you sure?');
        if(confirm_){
            $.ajax({
                type:"POST",
                url:'index.php/admin/order/del/'+order_id,
                success:function(msg){
                    //alert("test order");
                    //all delete is success,this can be execute
                    $("#tr_"+order_id).remove();
                }
            });
        }
    };
</script>

首先出发一个提示框,确认删除吗?

如果确认的话,执行ajax操作。

在jQuery中,有一个$.ajax()的方法。

这里有三个参数,一个是类型,这里面用的是POST,

第二个是地址,这个很关键,它负责将数据,传送到后台服务器去执行。

第三个参数是一个回调函数,如果执行删除成功,就会执行的操作。这个时候,就可以执行一些动作,比如将这条已删除的记录,移除。结合的是下面的这行代码。为没条记录,赋予一个动态的id,作为删除时使用的依据。这里要注意的是,必须后台执行的所有都成功之后,才会执行这个回调函数。

<tr id="tr_<?php echo $item['order_id']; ?>"></tr>

下面的是后台执行的代码


代码如下:

function del() {
    $order_id = $this->uri->segment(4);
    if ($order_id > 0) {
      $this->db->delete('billing', array('order_id' => $order_id));
      $this->db->delete('shipping_address', array('order_id' => $order_id));
      $this->db->delete('order_products', array('order_id' => $order_id));
      $this->db->delete('comments', array('order_id' => $order_id));
    }
    $this->db->delete($this->tbname, array('id' => $order_id));
  }

这个后台控制器中的一个方法,通过$this->uri->segment();方法获取参数,将参数赋值给变量order_id。

然后,就可以在后台执行相应的删除操作了。如果删除都成功的话,就会有一个默认的信息传递给success方法。

今天遇到的success方法执行不成功的原因,就是因为有一个删除操作执行不成功,那个隐藏的信息传递不到success方法。为什么不成功呢?因为$this->db->delete('shipping_address', array('order_id' => $order_id));与数据库中的表名不对应,大概是被别人修改了。

后来修正之后,success方法成功执行。

这是一个简单的ajax实例。可以简单的说明ajax的作用。不需要刷新界面,直接偷偷的去后台进行操作即可,操作成功后,还可以执行相应的动作,通过jQuery来完成

(0)

相关推荐

  • ajax php实现给fckeditor文本编辑器增加图片删除功能

    工作需要需要fck编辑器的服务器浏览加个图片删除的功能,我们利用ajax php实现的有需要的朋友可以参考下. 在fckeditoreditorfilemanagerbrowserdefault文件夹中找到frmresourceslist.html文件,修改代码如下 oListManager.GetFileRowHtml找到这里,下面代码替换原来的代码 复制代码 代码如下: oListManager.GetFileRowHtml = function(fileName, fileUrl, fil

  • Ajax bootstrap美化网页并实现页面的加载删除与查看详情

    Bookstrap:美化页面: Bootstrap是Twitter推出的一个开源的用于前端开发的工具包. 它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架. Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成. Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目. 只需要引用一些定义好的类,

  • jquery ajax实现批量删除具体思路及代码

    js页面jquery代码: 复制代码 代码如下: // JavaScript Document $(document).ready(function() { // 全选 $("#allChk").click(function() { $("input[name='subChk']").prop("checked",this.checked); }); // 单选 var subChk = $("input[name='subChk']&

  • PHP+ajax 无刷新删除数据

    首先本例基于留言本整理版修改. 我们使用了jquery.js来实现ajax和dom删除 首先加入 复制代码 代码如下: <script type="text/javascript" src="lib/jquery.js"></script> 给table加个 复制代码 代码如下: id="t<!--{$item.id}-->" 写个js: 复制代码 代码如下: <script> function d

  • 基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能

    建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码 <----HTML----> //thinkphp循环显示把data里fid赋予多选框 <volist name="data" id="vo"> <tr> <td><input type="checkbox" value="{$vo.fid}"/></td>//可在后面加td输入参

  • Ajax方式删除表格一行数据示例代码

    复制代码 代码如下: /** * Ajax方式删除信息--后台数据 * * action * id 主键值 * obj 删除行的<a> */ function removeRow(action,id,obj){ if(confirm('确定要删除吗?')){ Ext.Ajax.request({ url : encodeURI("alone.portal?.f=${namespace}&.pmn=view&action="+action), params :

  • ajax实现数据删除、查看详情功能

    运用bootstrap,jquery和ajax显示一些数据,附加删除功能并且点击能弹出模态框详情功能 主页面main.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

  • JQuery DataTable删除行后的页面更新利用Ajax解决

    使用Jquery的DataTable进行数据表处理非常方便,常遇到的一个问题就是删除一行后页面必须进行更新,需要注意的方法如下:前台页面中初始化table时注意: 复制代码 代码如下: var table = $('#sorting-advanced'); table.dataTable({ 'bServerSide': true, 'sAjaxSource': 'servlet/UserList<%=queryString%>', 'bProcessing': true, 'bStateSa

  • jQuery+css3实现Ajax点击后动态删除功能的方法

    本文实例讲述了jQuery+css3实现Ajax点击后动态删除功能的方法.分享给大家供大家参考.具体如下: 这里使用jquery实现ajax动态删除一个方框,并带有动画缓冲效果,在google plus网站发现的特效,在此献丑模仿了一番,已基本与Google Plusp功能相同,你可在方框中加入一些内容,jquery插件选的版本是1.6.2,更高版本也是可以的. 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <head> <meta http-equiv

  • Ajax添加数据与删除篇实现代码

    如果你真的把前几篇掌握了.实现ajax删除功能会易如反常.我所要教你的是.灵活利用JavaScript和Dom来实现一个酷酷的删除效果.其实你学习到这里.已经能够明白,在ajax技术中那些被请求的 服务端网页,在非ajax应用中并无太大区别.无非也是接受前端发过来的请求.在后台执行一些操作而已!学习完这篇教程以后.你会明白想要实现够炫够酷的的ajax效果.你必须要熟练掌握JavaScript Dom 这些技术精通. 刚刚我喝多了,上面的这段话是我在两天前就写好的.我本来想直接睡觉的.但我想试试.

随机推荐