数据表-M脚本无法在除第一页之外的任何其他页面上使用,该页面如何解决?

时间:2019-03-21 10:14:54

标签: javascript php datatables

我有以下jquery,可在某些单元格下放置编辑,查看和删除菜单。它可以在第一页上完美运行,但是一旦进入第二页,它就没有运行:

$(document).ready(function() {
$("#table-list-users tr td#dropmenu").hover(function(){
    var data = $(this).closest('tr').find('.phonenumber').text() ;
    var data_clean =data.trim();
    //console.log(data);
    var xxx = '<div> <a href=/MH_auth_admin/edit_user/' + data_clean +' >edit</a> | view | delete </div>';
    console.log(xxx);
    $(this).append(xxx) }, function(){
        $(this).children("div").remove();
    })
});

我也有以下php脚本,它们只是添加了一个工具提示:

   <?php 
    if (empty($user->created_on)){
     ?>     
    <td>
    <!-- empty -->
    </td>

    <?php
    } else {
    ?>                                      

    <td data-original-title="
        <?php 
            if (isset($user->created_on) ){
                $the_date_created = unix_to_human(htmlspecialchars($user->created_on,ENT_QUOTES,'UTF-8'));
                $the_text_created = new Cokidoo_Datetime($the_date_created);
                $created_on_tooltip = $the_text_created ;
                echo $created_on_tooltip;
            }
        ?>  
        " data-container="body" data-toggle="tooltip" data-placement="bottom" title="">

        <?php 
        if (!empty($user->created_on)){
            echo unix_to_human(htmlspecialchars($user->created_on,ENT_QUOTES,'UTF-8'));
        }
        ?>
</td>

<?php
    }
?>

两者在第一页都可以正常工作,但是一旦我转到其他任何页面,它们都将无效。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您需要将创建工具提示的逻辑替换为数据表的columnDefs的呈现函数
您的数据必须包含tooltipcreated_on字段。

$("#table-list-users").datadable({
  // ...
  // there can be other options
  // ...
  columns: [          
      { data: "created_on"}
  ],
  columnDefs: [
    {
      render: function (data, sType, aData) {
         return '<span data-original-title="' +
          aData.tooltip +
          '" data-container="body" data-toggle="tooltip" data-placement="bottom" title="">' +
          aData.created_on +
          '</span>';
      },
      targets: [0] // number of column created_on
    }
  ]
});