【问题标题】:hide a row and a div content after deletion using ajax使用ajax删除后隐藏一行和一个div内容
【发布时间】:2017-07-26 19:12:17
【问题描述】:

我想在ajax删除后淡出一行和一个div的内容,

我的看法

              <table class="table table-hover text-center" id="myTable">
                            <tbody>
                                <?php foreach ($get_all_mail as 
                              $get_all_mails) { ?>
                                    <tr onclick="return get_mail_content(<?
                 php echo $get_all_mails['m_id']; ?>)" id="target-list">     
                                <td class="email-title" >
                                    <?php echo $get_all_mails['from']; ?>
                                </td>
                                <td class="email-body" >
                                    <?php echo $get_all_mails['subject'] ?>
                                </td>                                   
                                <td>
                                    <?php echo date('d-M-Y', 
                          strtotime($get_all_mails['start_date'])) ?>
                                </td>   
                                </tr>
                            <?php } ?>
                            </tbody>
                        </table>


                    <div class="content-box" id="content">

                    </div>

我的脚本

function get_mail_content(m_id) {
                        var datastring = 'm_id=' + m_id;
                        var a = false;
                        $.ajax({
                            type: "POST",
                            async: false,
                            url: "<?php echo site_url(); ?>admin/get_mail_contents",
                            data: datastring,
                            cache: false,
                            success: function (result) {
                                alert(result);
                                var result = $.parseJSON(result);
                                console.log(result.from);
                                var d = new Date(result['0']['start_date'] + ' ' + result['0']['start_time']);
                                console.log(d.getHours() + ':' + d.getMinutes() + ',' + d.getDate() + '-' + (d.getMonth() + 1) + '-' + d.getFullYear());
                                $('#content').html('');
                                $("#content").append('<div class="mail-toolbar clearfix" id="mail_content"> <a href="#" onclick = "return delete_mail(' + result['0']['m_id'] + ')"class="btn btn-danger mrg10L" title="Delete"> <i class="glyph-icon icon-trash-o"></i></a> </div></div> </div>');
                            }
                        });                           
                    }

                       function delete_mail(m_id) {
                        var datastring = 'm_id=' + m_id;
                        $.ajax({
                            type: "POST",
                            async: false,
                            url: "<?php echo site_url(); ?> 
                          admin/delete_mails",
                            data: datastring,
                            cache: false,
                            success: function (result) {
                                alert(result);                                                        
                $('#content').fadein(400).delay(2000).fadeout(2000);

                            }
                        });
                    }

在这里,当我单击表格行时,我触发了一个函数 (get_mail_content),用于在 id 为容器的 div 中以 json 格式显示内容,在此 json 格式中,我触发另一个函数 (delete_mail),用于从表格中删除此内容行和来自 div.

在这张图片中,当我点击表格行右侧的 div 将打开,我想当我点击删除按钮时我想从我的页面隐藏这个 div 和表格行(左侧)。

【问题讨论】:

  • 嗨,这样的东西有帮助吗? $('#content').fadeOut('slow', function() { $('#content').html(content); $('#content').fadeIn('slow'); });
  • 是的,它适用于右侧的内容隐藏,但是如何在上图的左侧隐藏此表格行
  • 嗨,对左侧做同样的事情。你有左边的id吗?让我发布一个答案。您的意思是也隐藏
  • 是的,两者都工作,非常感谢。
  • 你在这里用$('#myTable')隐藏了整个表,只需选择你要删除的内部ID。

标签: javascript ajax codeigniter fadeout


【解决方案1】:

你可以这样做:

$('#content').fadeOut('slow', function() 
  { 
       $('#content').html(content);
       $('#content').fadeIn('slow'); 

  });

也对所有需要隐藏和淡出的 id 执行相同操作。希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您需要将id与右侧表格相关联

    示例: id = "m_id_1", 哪个引用是删除函数,那么您需要在删除参数中传递该 id 值;

    $('#content').fadeOut('slow', function() 
      { 
           $('#m_id_1').html(content);
           $('#m_id_1').fadeIn('slow'); 
    
      });
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签