„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie fülle ich mithilfe von jQuery ein kaskadierendes Dropdown-Menü mit Städten basierend auf dem ausgewählten Land?

Wie fülle ich mithilfe von jQuery ein kaskadierendes Dropdown-Menü mit Städten basierend auf dem ausgewählten Land?

Veröffentlicht am 25.11.2024
Durchsuche:400

How to Populate a Cascading Dropdown with Cities Based on Selected Country Using jQuery?

Auffüllen eines kaskadierenden Dropdown-Menüs mit JQuery

Problem:

Sie möchten eine Dynamik erstellen Formular mit zwei Dropdown-Listen (Land und Stadt) mithilfe von JQuery, um sicherzustellen, dass nur die Städte, die dem ausgewählten Land entsprechen, in der Stadt angezeigt werden Dropdown-Liste.

Original-JavaScript-Code:

Die ursprüngliche JavaScript-Funktion weist während ihrer Arbeit Kompatibilitätsprobleme im Internet Explorer auf. Es füllt das Dropdown-Menü „Stadt“ basierend auf dem ausgewählten Land dynamisch auf und stützt sich dabei auf hartcodierte Arrays von Stadtoptionen.

JQuery-Implementierung:

Um die Kompatibilität zu verbessern und die Implementierung zu vereinfachen, JQuery eingesetzt werden kann. Hier ist ein effizienter Ansatz mit JQuery:

jQuery(function ($) {
  var locations = {
    'Germany': ['Duesseldorf', 'Leinfelden-Echterdingen', 'Eschborn'],
    'Spain': ['Barcelona'],
    'Hungary': ['Pecs'],
    'USA': ['Downers Grove'],
    'Mexico': ['Puebla'],
    'South Africa': ['Midrand'],
    'China': ['Beijing'],
    'Russia': ['St. Petersburg'],
  }

  var $locations = $('#location');
  $('#country').change(function () {
    var country = $(this).val(), lcns = locations[country] || [];

    var html = $.map(lcns, function (lcn) {
      return ''
    }).join('');
    $locations.html(html)
  });
});

Erläuterung:

  • Wir definieren Objektstandorte, die Länder Arrays entsprechender Städte zuordnen.
  • Der Änderungsereignishandler für das Dropdown-Menü „Land“ löst die dynamische Bevölkerung des Dropdown-Menüs „Stadt“ aus.
  • Der Ereignishandler ruft das ausgewählte Land ab und ruft das entsprechende Städte-Array von den Standorten ab Objekt.
  • Eine Schleife erstellt HTML-Optionselemente für die Städte und hängt sie mit $locations.html(html) an das Dropdown-Menü „Stadt“ an.

Demo:

Sie können auf den bereitgestellten Fiddle-Link für eine funktionierende Demo verweisen.

Diese JQuery-Implementierung ist prägnant, browserübergreifend kompatibel. und erleichtert das dynamische Auffüllen des kaskadierenden Dropdown-Menüs.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3