Есть ли способ получить несколько выпадающих меню с начальной загрузкой? - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь показать в выпадающем списке учеников, которые преподают в один и тот же класс. Но с моим текущим кодом содержимое выпадающего списка для всех классов одинаково.

Я начал с этих строк кода:

    // Get all the classnames
    $aAllClasses = $this->fetchAllClasses();
    // Create a menubutton foreach classname
    foreach($aAllClasses as $aClassname){
      echo("<a class='link dropdown-toggle' href='#' id='navbarDropdown' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>".$aClassname[0]." </a>"); 
      // Create the list with students for this class
      echo("<ul class='dropdown-menu' aria-labelledby='navbarDropdown'>");                    
      // Get all the students from this class
      $aClassStudents = $this->fetchClassStudents($aClassname[0]);
      // Create the dropdown list
      foreach($aClassStudents as $aStudentRecord){
          echo("<li><a class='dropdown-item' href='student.php' data-toggle='tooltip' title='Edit'>".$aStudentRecord['sStudentSurname']."</a></li>");                                                                                                                                            
      }
      echo("</ul><br>");     
    }

Согласно этому ответу Bootstrap Dropdown показывает двойной? Странный Один

Я изменился

    href='#' into href='javascript:void();'

ничего не изменилось. Затем я увидел в W3schools этот фрагмент https://www.w3schools.com/bootstrap4/bootstrap_dropdowns.asp

Тоже нет радости

На основе этого сайта я изменил ID маркировки https://www.quackit.com/html/html_editors/scratchpad/?example=/bootstrap/bootstrap_4/tutorial/bootstrap_4_navbars_dropdown_menus

    id='#Dropdown".$aClassname[0]."'
    aria-labelledby='Dropdown".$aClassname[0]."'

Новый код:

    // Get all the classnames
    $aAllClasses = $this->fetchAllClasses();
    // Create a menubutton foreach classname
    foreach($aAllClasses as $aClassname){
      echo("<a class='link dropdown-toggle' href='#' id='#Dropdown".$aClassname[0]."' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>".$aClassname[0]." </a>"); 
      // Create the list with students for this class
      echo("<ul class='dropdown-menu' aria-labelledby='Dropdown".$aClassname[0]."'>");                    
      // Get all the students from this class
      $aClassStudents = $this->fetchClassStudents($aClassname[0]);
      // Create the dropdown list
      foreach($aClassStudents as $aStudentRecord){
          echo("<li><a class='dropdown-item' href='student.php' data-toggle='tooltip' title='Edit'>".$aStudentRecord['sStudentSurname']."</a></li>");                                                                                                                                            
      }
      echo("</ul><br>");     
    }

Также тот же результат.

если я удаляю «конец списка неупорядоченных» в последней строке, просматриваются и классы, и ученики, но вложенным способом.

Result part 1

Result part 2

Result,part 3

Так что теперь я отделил кнопки от контента

 $aAllClasses = $this->fetchAllClasses();
 foreach($aAllClasses as $aClassname){
      echo("<a class='link dropdown-toggle' href='#' id='#navbarDropdown".$aClassname[0]."' role='button' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>".$aClassname[0]."</a><br><br>"); 
 }
 foreach($aAllClasses as $aClassname){
     echo("<ul class='dropdown-menu' aria-labelledby='#navbarDropdown".$aClassname[0]."'>");                    
     $aClassStudents = $this->fetchClassStudents($aClassname[0]);
     foreach($aClassStudents as $aStudentRecord){
       echo("<li><a class='dropdown-item' href='exa_classes.php' data-toggle='tooltip' title='Edit'>".$aStudentRecord['sStudentSurname']."</a></li>");                                                                                                                                            
     }
     echo("</ul>");     
   }

Тот же результат, содержание второго класса остается таким же, как первый. И теперь у меня заканчиваются идеи. Может кто-нибудь сказать мне, почему я не могу заполнить эти выпадающие страницы различным содержанием для каждого класса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...