Wie wird der Wert im Dropdown-Menü basierend auf den ausgewählten Daten / IDs angezeigt?

Roseanne

Unten ist mein Code zum Drucken oder Anzeigen von Daten aus einem Array im Dropdown-Menü. Die Daten werden in der API gespeichert. Ich benutze die for-Schleife für meinen Code. Wenn ich jedoch den folgenden Code verwende, wird mehr als ein Dropdown-Feld angezeigt. Ich habe bereits nach der Lösung gesucht, aber mein Problem wurde dadurch immer noch nicht gelöst. Vielen Dank im Voraus für Ihre Hilfe.

<div class="select" id="new-input" onselect="SelectStudents()"> 
<?php $i = 0; foreach ($arr['data'] as $key => $value) { ?> 
   <select required="<?php echo ($i == 0) ? 'required':''; ?>"> 
      <option value="<?php echo $value['studentName']; ?>">
         <?php echo $value['studentName']; ?>
      </option> 
   </select> 
<?php $i++; } ?>
</div>




// Data From API
"data": [
    {
        "TeacherID": "123",
        "TeacherName": "Miss Sara",
        "StudName": "Nina Simon",
    },
    {
        "TeacherID": "124",
        "TeacherName": "Madam Downy",
        "StudName": "Mike Dave",
    },
    {
        "TeacherID": "125",
        "TeacherName": "Mr. Adam",
        "StudName": "Jenny William",
    }
]

Ich gehe davon aus, dass wenn ich im Menü auf Miss Sara klicke, der Name der Schüler unter Miss Sara (Nina Simon) im Dropdown-Menü geladen wird.

DeeZee

Ihr <select>Tag befindet sich innerhalb der Schleife, sodass der Code für jede Iteration der Schleife ein Auswahlelement erzeugt.

Versuche dies:

<div class="select" id="new-input" onselect="SelectStudents()"> 

  <select required> 

    <?php foreach ($arr['data'] as $key => $value) { 

        echo '<option value="'.$value['studentName'].'">';
        echo       $value['studentName'];
        echo '</option>';

    } ?>  

  </select>

</div>

Wenn Sie DOM-Elemente in der Liste ändern möchten, wählen Sie: Es ist wahrscheinlich besser, JavaScript zu verwenden. Wenn Sie dies jedoch serverseitig tun müssen, finden Sie hier eine Idee für eine Funktion, mit der Sie helfen können:

function getStudents($teacherID, $arr) {
  foreach ($arr as $key => $record) { 
    if ($record['TeacherID'] == $teacherID){
        return $record['StudName'];
    }
  }
}

Ich gehe davon aus, dass wenn ich im Menü auf Miss Sara klicke, der Name der Schüler unter Miss Sara (Nina Simon) im Dropdown-Menü geladen wird.

Nach meinem Verständnis möchten Sie so etwas. - Ich habe einige Annahmen darüber getroffen, was los ist. - Ich habe Daten als PHP-Variable fest codiert. - Die ursprüngliche Frage betraf jede Schleife, daher habe ich diese häufig verwendet.

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
  <style type="text/css">
    a{
      display: block;
      margin-bottom: 1rem;
    }
    .card{
      padding: 1rem;
      background-color: #eee;
      width: 300px;
    }
    select{
      margin-top: 1rem;
      width: 300px;
    }
  </style>
</head>
<body>
<?php

  class StudentsClass
  {

    public function listStudents($teacherID, $arr) {
      foreach ($arr as $key => $record) { 
        if ($record['TeacherID'] == $teacherID){
            return $record['StudName'];
        }
      }
    }

    public function listTeachers($arr) {
      $s=[];
      foreach ($arr as $key => $record) { 
        $s[$record['TeacherID']] = $record['TeacherName'];
      }
      return $s;
    }
  }


  class DisplayHTML
  {


    public function selectHTML($list,$cssClass='') {
      $s='';
      if ($cssClass!='') $css = 'class="'.$cssClass.'" ' ; else $css = '';

      foreach ($list as $key => $item) { 
        $s.='<option '.$css.'value="'.$item.'">'.$item.'</option>';
      }
      $s = '<select>'.$s.'</select>';
      return $s;
    }

    public function anchorHTML($list,$cssClass='') {
      $s='';
      if ($cssClass!='') $css = 'class="'.$cssClass.'" ' ; else $css = '';
      foreach ($list as $key => $item) { 
        $s.='<a '.$css.'href="?teacherID='.$key.'">'.$item.'</a>';
      }
      return $s;
    }

    public function divHTML($id,$data) {
      $s='<div class="card"> <h2>My Student list</h2><ul id="studentlist"> </ul>';
      foreach ($data as $key => $item) { 
        if ($item['TeacherID']==$id){
          foreach ($item['StudName'] as $k => $value) {
            $s.='<li>'.$value.'</li>';
          }
          $s.='<h3>'.$item['TeacherName'].'</h3></div>';
          return $s;
        }
      }
      return '<div class="card">
        <h2>My Student list</h2><ul><li>-</li></ul>
        <h3>--</h3> </div>';
    }

  }


  $arr =  [
    [
        "TeacherID"=> "123",
        "TeacherName"=> "Miss Sara",
        "StudName"=> ["Nina","Simon"],
    ],
    [
        "TeacherID"=> "124",
        "TeacherName"=> "Madam Downy",
        "StudName"=> ["Mike","Dave"],
    ],
    [
        "TeacherID"=> "125",
        "TeacherName"=> "Mr. Adam",
        "StudName"=> ["Jenny","William"],
    ]
  ];



  $stlst = new DisplayHTML;
  $stdents = new StudentsClass;

  echo $stlst->anchorHTML($stdents->listTeachers($arr));
  if (isset($_GET['teacherID'])) {
    echo $stlst->divHTML($_GET['teacherID'],$arr);
    echo $stlst->selectHTML($stdents->listStudents($_GET['teacherID'],$arr));
  }


  ?>  


</body>
</html>

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

MVC: Der Wert im Dropdown-Menü wird nicht auf den ausgewählten Wert gesetzt - bleibt 0

Wie kann ich Daten in einer Tabelle basierend auf der ausgewählten Option im Dropdown-Menü anzeigen?

Schienen: Ändern Sie den Index basierend auf dem ausgewählten Wert im Dropdown-Menü

Wie behalte ich den ausgewählten Wert im Dropdown-Menü, wenn das Formular gesendet wird?

Wie kann ich basierend auf der im Dropdown-Menü ausgewählten Option unterschiedliche Muster von Eingabefeldern festlegen?

Werte basierend auf dem ausgewählten Wert im Dropdown-Menü abrufen - Laravel

Wie kann ich mit vue.js den ausgewählten Wert im Dropdown-Menü abrufen?

Wie werden Daten in einem Textfeld aus der Datenbank MySQL basierend auf der ausgewählten Option angezeigt?

Ausblenden oder Anzeigen der Daten basierend auf dem ausgewählten Dropdown-Wert

Wie kann ich den Formularwert ändern? Aktion basierend auf dem ausgewählten Dropdown-Wert

Angular - Wie wird der Wert im Dropdown-Menü ausgewählt?

Das Widget sollte basierend auf der im Dropdown-Menü ausgewählten Option ein- oder ausgeblendet werden

Ausblenden von Feldern in einem Formular basierend auf der ausgewählten Eingabe im Dropdown-Menü mit eckigem js

Lassen Sie eine bestimmte Option im zweiten Dropdown-Menü verschwinden, basierend auf der ausgewählten Option im ersten Dropdown-Menü

Wie wird der Wert in Feldern basierend auf dem Abfragesatz angezeigt?

Javascript: Den ausgewählten Wert aus der Dropdown-Liste abrufen und die Endzeit basierend auf Startzeit und Intervall berechnen

Wie kann ich auf den Wert zugreifen, der im Schwebemodal eines Rikscha-Diagramms angezeigt wird?

Wie kann ich mehrere Dropdown-Listen basierend auf den ausgewählten Werten mit Daten in PHP erstellen?

So legen Sie den ausgewählten Wert im Dropdown-Menü im Aktualisierungsformular fest

Wie zeige ich den Namen des ausgewählten Elements im Dropdown-Menü bei der Arbeit mit Objekten an?

Wie wird der Wert im Dropdown-Menü von der EJS-Vorlage zum serverseitigen Knoten ausgewählt?

Dropdown-Taste im Flattern, bei der die Werte nicht auf den ausgewählten Wert umgeschaltet werden

Wie verwende ich den aus der Dropdown-Liste ausgewählten Wert von einer Datei in eine andere Datei im Flattern?

Wie zeige ich Text in HTML basierend auf einer aus einem Dropdown-Menü ausgewählten Option an?

Divs basierend auf der vom Benutzer ausgewählten Dropdown-Menü-Option anzeigen

Bootstrap Dropdown: Wie stelle ich den aktiven Link so ein, dass der Wert auf der Schaltfläche angezeigt wird?

Filtern Sie Stadtkarten basierend auf dem ausgewählten Dropdown-Wert nur auf der Clientseite

Wie erhalte ich den ausgewählten Wert aus einem Dropdown-Menü mit Thymeleaf?

Wie erfasst man den Wert von Optionen in einem ausgewählten Dropdown-Menü zum Vergleich?

TOP Liste

  1. 1

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  2. 2

    Eclipse Oxygen - Projekte verschwinden

  3. 3

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  4. 4

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  5. 5

    Wie kann ich den Kaskadenmodus global einstellen?

  6. 6

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  7. 7

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  8. 8

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  9. 9

    Modbus Python Schneider PM5300

  10. 10

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  11. 11

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  12. 12

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  13. 13

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  14. 14

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  15. 15

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  16. 16

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  17. 17

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Wie wählt man Unterschiede mit drei Tabellen aus?

  20. 20

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  21. 21

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

heißlabel

Archiv