Reputation: 5019
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>
Upvotes: 38
Views: 25471
Reputation: 1
Replace inicialize function on load windows or, document ready, etc. Solution: into box address input add onclick="initialize()". It´s fine!
Upvotes: 0
Reputation: 11
Depending on the z-index of your modal, your .pac-container will need to be at least 1 higher.
Your stylesheet should include
.pac-container {z-index: 99999999999 !important;}
Upvotes: 1
Reputation: 2258
For use with Angular 2+, make sure to use ng-deep
::ng-deep .pac-container
{
z-index: 99999 !important;
}
Upvotes: 5
Reputation: 843
If you are still looking.
var pacContainerInitialized = false;
$('#inputField').keypress(function() {
if (!pacContainerInitialized) {
$('.pac-container').css('z-index', '9999');
pacContainerInitialized = true;
}
});
Upvotes: 8
Reputation: 5019
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>
Upvotes: 82