i'm using google maps autocomplete script , working fine, how clear input if user has not select dropdown list?
for example: current situation: user enter "new" , see "new york" in list, not choose (clicks anywhere outside input), , intup has value "new". want: user enter "new" , see "new york" in list, not choose (clicks anywhere outside input), , intup has empty value, because nothing in list not selected.
my current code:
<input id="autocomplete2" placeholder="enter address" onfocus="initautocomplete2()" type="text"> <script> function initautocomplete2() { autocomplete2 = new google.maps.places.autocomplete( /** @type {!htmlinputelement} */(document.getelementbyid('autocomplete2')), {types: ['(cities)']}); } </script>
you need have variable save fact value selected, , when focus/blur input - reset value of input if needed.
here example:
var selected = false; function initautocomplete2() { autocomplete2 = new google.maps.places.autocomplete( /** @type {!htmlinputelement} */(document.getelementbyid('autocomplete2')), {types: ['(cities)']}); autocomplete2.addlistener('place_changed', function() { selected = true }); } $('#autocomplete2').on('focus', function() { selected = false; }).on('blur', function() { if (!selected) { $(this).val(''); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script> <input id="autocomplete2" placeholder="enter address" onfocus="initautocomplete2()" type="text">
Comments
Post a Comment