首页 > 解决方案 > 如何按照表格某些列数据显示工具提示?

问题描述

我创建了 js 树以显示文件夹路径名。我的问题是如何按照数据库表的某些列数据显示工具提示。

下面是我的编码,这个编码<div id="folder_jstree" title="JTM"></div>我只是硬编码写标题“JTM”来显示工具提示:


  <?php 
   $folderData = mysqli_query($mysql_con,"SELECT * FROM folders");

   $folders_arr = array();
   while($row = mysqli_fetch_assoc($folderData)){
      $parentid = $row['parentid'];
      if($parentid == '0') $parentid = "#";

      $selected = false;$opened = false;
      if($row['id'] == 2){
         $selected = true;$opened = true;
      }
      $folders_arr[] = array(
         "id" => $row['id'],
         "parent" => $parentid,
         "text" => $row['name'],
         "state" => array("selected" => $selected,"opened"=>$opened) 
      );
   }

   ?>

   <!-- Initialize jsTree -->
   <div id="folder_jstree" title="JTM"></div>
   <!-- Store folder list in JSON format -->
   <textarea style="display:none;" id='txt_folderjsondata'><?= json_encode($folders_arr) ?></textarea>


<script>
$(document).ready(function(){
   var folder_jsondata = JSON.parse($('#txt_folderjsondata').val());

   $('#folder_jstree').jstree({ 'core' : {
      'data' : folder_jsondata,
      'multiple': false
   } });

});

  $( function() {
    $( document ).tooltip();
  } );

</script>

下面是我的数据库表名folders,我需要按照表格在工具提示name中显示表格category。例如,如果我将鼠标指针MPK 400 Pengurusan Kewangan放在 JS 树中,那么工具提示将显示categroy名称为“JKP”。我在表中显示了三种类型folders,分别是JKPJTM'JTM (Berhubung Kod 100-1/1/2)':

[表名是文件夹] 1

下面是我的输出: [输出] 2

希望有人可以指导我或向我展示解决此问题的示例。谢谢。

标签: jquerysqljstree

解决方案


您可以在 jstree 悬停事件上应用工具提示。您必须将工具提示文本保留在节点的数据中。

在 php 代码中,您可以将category列包含在数组中

 $folders_arr[] = array(
    "id" => $row['id'],
    "parent" => $parentid,
    "text" => $row['name'],
    "category" => $row['category'],
    "state" => array("selected" => $selected,"opened"=>$opened) 
 );

在 jsTree 初始化后的 javascript 代码中,您可以设置事件处理程序。

$('#folder_jstree').bind('hover_node.jstree', function (e, data) {
    $("#" + data.node.id).attr("title", data.node.original.category);
});

推荐阅读