2017-01-11 1 views
0

ich dynamisch müssen laden, um eine Dropdown-Liste aktualisieren, basierend auf dem Wert einer anderen Liste. Ich habe ein onblur-Ereignis angehängt, um einen Serveranruf zu tätigen, bevor ich die zweite Liste mit ihren Werten bevölkere. Wenn ich auf die erste Liste klicke und dann auf die zweite klicke, werden die geladenen Elemente nicht korrekt angezeigt.Warten Sie Elemente vor dem Öffnen Dropdown-Liste/Update Dropdown-Liste dynamisch

Hier ist ein einfaches Beispiel: https://jsfiddle.net/4yktopux/

+0

Ich verstehe nicht, was du meinst mit „die geladenen Elemente werden nicht korrekt angezeigt werden“. Könnten Sie expliziter sein? Was ich sehe, wenn ich Ihren Link ausgeführt ist, dass auf jeder der Städte verwischen hinzugefügt werden, ohne dass die zweite Dropdownlist-Clearing vor (so nach blur zweimal habe ich: City1 - City2 - City3 - City1 - City2 - City3) ... ist das Ihr Problem ? – Falco

+0

Ich habe nicht zu viel Mühe auf das Beispiel setzen, aber was Sie tun müssen, um den Fehler zu reproduzieren ist auf der ersten Liste klicken und dann auf die zweite direkt nach klicken. Es macht nichts, wenn die Daten hinzugefügt werden. Entschuldigung, wenn ich nicht klar genug war. – Pedro

Antwort

2

Ich denke, das Problem ist, dass Sie die Unschärfe Ereignis verwenden, die Sie erfordert aus der ersten Liste zu verschieben.

Wenn Sie auf die zweite Liste, die die Unschärfe-Ereignis ausgelöst und beginnt, die Last, aber das Click-Ereignis ausgelöst wird auch auf der zweiten Liste, die derzeit leer. Deshalb wird eine leere Liste angezeigt.

Anstelle der Unschärfe, verwenden Sie das Änderungsereignis, so dass Sie ein zweites Mal klicken, um zu sehen Ergebnisse Benutzer nicht erforderlich.

+0

Arbeitete für mich. Ich hatte nicht daran gedacht, das Change Event zu nutzen, danke! Aber das Problem bleibt dennoch dort. Die Dropdown-Liste sollte auch dann korrekt angezeigt werden können, wenn die Elemente hinzugefügt wurden, nachdem ich auf die Liste geklickt habe. Es sollte eine Möglichkeit geben, es zu aktualisieren, ohne erneut ein- und auszuklicken. – Pedro

Verwandte Themen