Gdziekolwiek teraz dzwonisz autocomplete.unbindAll()
(również?) Zadzwoń pod numer input.parentNode.removeChild(input)
? Zasadniczo dzieje się to w doskonałej odpowiedzi na What is the correct way to completely remove GoogleMaps Autocomplete?
Jednak w przeciwieństwie do tego pytania, użytkownik skarży się na "wiele list rozwijanych".
Wydaje się swoim rzeczywistym problemem jest to, że jesteś powołując new google.maps.places.Autocomplete(...)
więcej niż jeden raz, przed różnymi input
węzłów. Nie możesz tego uniknąć? Tam, gdzie "tworzysz" nowy węzeł, po prostu przeciągnij "zainicjowany" węzeł do miejsca w dokumencie, w którym chcesz go teraz użyć, używając interfejsu JS DOM API. Ukryj go, jeśli chcesz tymczasowo go nie widzieć.
To wydaje się nieco trudniejsze, jeśli używasz wiążącej ramy, ale musisz dostać to połączenie do new Autocomplete
z tego co robi, jakoś.
co to jest "wejście"? czy zdefiniowałeś ją jako zmienną, na przykład "var input = (document.getElementById ('zipcode')); '? –
oczywiście. to jest element html – thelolcat
czy możesz dostarczyć trochę skrzypiec lub plunkera? –