Как проследить таблицу определенных данных столбца, чтобы показать подсказку? - PullRequest
0 голосов
/ 14 апреля 2020

Я создал дерево 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, есть JKP, JTM и 'JTM (Berhubung Kod 100-1 / 1/2)':

[Название таблицы папки] 1

Ниже приведен мой вывод: [Вывод] 2

Надеюсь, кто-то может мне помочь или покажи мне примеры для решения этой проблемы. Спасибо.

1 Ответ

1 голос
/ 15 апреля 2020

Вы можете применить всплывающую подсказку к событию jstree hover. Вам нужно будет сохранить текст всплывающей подсказки в данных узла.

В коде php вы можете включить столбец category в массиве

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

В javascript Код после инициализации jsTree вы можете установить обработчик события.

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