javascript - Google Maps Autocomplete - Clear input if nothing selected -


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