2016-05-18 7 views
1

Ich mache eine Auswahlbox für Staat und Stadt. Sobald der Benutzer den Status ausgewählt hat, zeigt er basierend auf dem ausgewählten Status die gesamte Stadtliste in dem Zustand an. Das Folgende ist der JavaScript-Code:JQuery Für Staat und Stadt gewählt Liste nur einmal funktionieren

$(document).ready(function() { 

    $("#origin_state").chosen(); 

    $("#origin_state").change(function() { 
     $("#origin_city").load("getCities.php?state=" + $("#dest_state").val()).prop('disabled', false); 
    }); 

    $("#origin_city").hover(function() { 

     $("#origin_city").chosen(); 
    }); 
}); 

Ich habe eine staatliche und Stadt-Datenbank. getCities.php ist, um die Stadtliste basierend auf dem Staat, den Sie wählen, zu erhalten. Das Problem ist nur einmal funktionieren. Sobald ich den Status in einen anderen Zustand ändere, ändert sich die Stadtliste nicht, wenn ich das $ ("# origin_city") auserwählte(); auszeichne, funktioniert es gut. Bitte helfen Sie!

Antwort

0

Ok gut Ihr Code fehlt gewählte Plugin-Update-Funktionalität, denn wenn Sie die ausgewählte Initialisierungsfunktion gewählt() auf Dropdowns dann gerendert als Dropdown-Menü gerendert und wenn Sie es mit neuen Daten aktualisieren möchten, dann müssen Sie gewählt werden benutzerdefiniertes Ereignis 'ausgewählt: aktualisiert'. Führen Sie das Verfahren in der Stadt wie folgt durch.

Als Erstes wählen Sie das gewählte Plugin in beiden Dropdown-Menüs aus, indem Sie dort die Klasse auf 'ausgewählt-auswählen' setzen.

<select id="origin_state" class="chosen-select"></select> 
<select id="origin_city" class="chosen-select"></select> 

Und dann Javascript-Code:

$('.chosen-select').chosen(); 

$('#origin_state').change(function(){ 
    var state = $(this).val(); 
    $("#origin_city").load("getCities.php?state="+state).prop('disabled',false); 
    $('#origin_city').trigger('chosen:updated'); 
});