2016-03-20 18 views
8

FIX UPDATE: Sembra che il modo in cui mi è stato l'inizializzazione casella stava causando problemi qui è quello che ha risolto il tuttoGoogle Luogo completamento automatico non mostrando in Bootstrap modale

<script> 
    $(function() { 
     var input = document.getElementById("keyword"); 
     var autocomplete = new google.maps.places.Autocomplete(input); 

     $('#my-modal').modal('show'); 

    }); 

</script> 
<style> 
    .pac-container { 
     z-index: 10000 !important; 
    } 
</style> 

UPDATE: Ho aggiornato il codice per essere molto semplice, il motivo per cui questo http://jsfiddle.net/g8vxmLn9/1/ funziona è perché sta usando il bootstrap e il jquery più vecchi, quindi presumo perché sto usando i nuovi sto avendo i problemi.

Voglio semplicemente mostrare una casella di completamento automatico in un modello bootstrap (3.3) e farlo visualizzare i risultati durante la digitazione.

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width" /> 
<title>Test</title> 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> 
<script src="https://code.jquery.com/jquery-2.2.2.min.js" integrity="sha256-36cp2Co+/62rEAAYHLmRCPIych47CvdM+uTBJwSzWjI=" crossorigin="anonymous"></script> 
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"> </script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> 
</head> 
<body> 
<div> 
    <div id="my-modal" class="modal" aria-hidden="true"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <input name="keyword" id="keyword" type="text" /> 
      </div> 

     </div> 
    </div> 
</div> 
<script> 
    $(function() { 
     $("#my-modal").modal({ 
      show: false 
     }).on("shown", function() { 
      var input = document.getElementById("keyword"); 
      var autocomplete = new google.maps.places.Autocomplete(input); 

     }); 
     $('#my-modal').modal('show'); 
    }); 
</script> 
</body> 
</html> 
+0

'id = "map_canvas"' non è definito in JS – Shehary

+0

@Shehary ho aggiornato il codice in modo che la sua semplice e non ha nulla a che fare con tela, ancora non funziona – Zoinky

risposta

23

Questo problema è stato risolto

<script> 
    $(function() { 
     var input = document.getElementById("keyword"); 
     var autocomplete = new google.maps.places.Autocomplete(input); 

     $('#my-modal').modal('show'); 

    }); 

</script> 
<style> 
    .pac-container { 
     z-index: 10000 !important; 
    } 
</style> 
+4

Questo funziona per me –

+0

_Explanation_: '.pac-container' è l'elemento div wrapping del risultato di completamento automatico di Google. In questo caso il modale ha già un alto 'z-index'. Quindi devi impostare più in alto 'z-index' rispetto al modale – Eranda

3

Se siete ancora alla ricerca.

    var pacContainerInitialized = false; 
        $('#inputField').keypress(function() { 
          if (!pacContainerInitialized) { 
            $('.pac-container').css('z-index', '9999'); 
            pacContainerInitialized = true; 
          } 
        }); 
+0

Grazie, ha funzionato per me! –

Problemi correlati