Wie kann ich das Select2 Dropdown-Menü aktualisieren, nachdem ich einen anderen Inhalt geladen habe?

Ich bin mit Select2 in einer Kombination von dropdown-Menüs. Ich habe ein Menü für "Länder" und "Staaten/Provinzen". Je nach dem Land, das gewählt wird, wird der "Bundesländer" dropdown-content-änderungen. Die Staaten/Provinzen gezogen werden, die mit ajax aus einer Datenbank und dann auf diese Weise angezeigt wird:

$display_output = '<select style="width:350px;" tabindex="2" name="state" id="state" data-placeholder="Choose a Country..."> ';
$display_output .= '<option value="" selected>Select a State</option> ';

while ($state_details = $this->fetch_array($sql_select_states))
{
    $display_output .= '<option value="' . $state_details['id'] . '" ' . (($selected_value == $state_details['id']) ? 'selected' : ''). '>' . $state_details['s.name'] . '</option>';
}

$display_output .= '</select>';

So weit, So gut. Alle Provinzen ändern, richtig, aber beim ersten laden, der Select2 zeigt, "undefined" für die Staaten dropdown, obwohl ich habe es als

data-placeholder="Choose a Country..."

Gehe ich davon aus dass es sein könnte, da auf das laden, die dem ausgewählten Land wird "Vereinigte Staaten" und es wird eine Liste der Staaten, aber keiner von Ihnen Standard-oder ausgewählt werden. Gibt es eine andere Möglichkeit einen Standardwert festlegen, so dass es nicht zeigen, "Undefined"?

Und eine andere (aber weniger wichtig) problem ist, dass, wenn jemand wählt die "Vereinigten Staaten" zum Beispiel, und wählt dann "Arizona", wenn die person, dann ändert sich in "Kanada" als das Land, den Zustand von "Arizona", bleibt aber beim öffnen der dropdown den Provinzen von Kanada sind frei wählbar. Gibt es eine Möglichkeit es zurück zu der Standard-Wert vorübergehend, wenn jemand wählt ein anderes Land, bis eine Provinz ist erneut gewählt?

Mein code zum laden ist derzeit nur:

<script>
$(document).ready(function() { $("#state").select2(); });
</script>

InformationsquelleAutor der Frage user1227914 | 2013-07-23

Schreibe einen Kommentar