Google Place Autocomplete not showing in Bootstrap modal
19,469
Solution 1
This fixed it
<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>
Solution 2
Just add
.pac-container {
z-index: 10000 !important;
}
Solution 3
If you are still looking.
var pacContainerInitialized = false;
$('#inputField').keypress(function() {
if (!pacContainerInitialized) {
$('.pac-container').css('z-index', '9999');
pacContainerInitialized = true;
}
});
Solution 4
For use with Angular 2+, make sure to use ng-deep
::ng-deep .pac-container
{
z-index: 99999 !important;
}
Author by
Zoinky
Updated on June 27, 2022Comments
-
Zoinky about 2 years
FIX UPDATE: It seems that the way i was initializing the box was causing issues here is what fixed it
<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: I have updated the code to be very simple, the reason this http://jsfiddle.net/g8vxmLn9/1/ works is because its using older bootstrap and jquery so I assume because I am using newer i am having the problems.
I simply just want to show a autocomplete box in a bootstrap(3.3) model and have it show the results as you type.
<!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>