2016-03-20 5 views
8

FIX UPDATE in Bootstrap modal zeigt: Es scheint, dass die Art, wie ich die Box wurde initialisiert Probleme verursacht wurde hier ist, was es festeGoogle Place Autocomplete nicht

<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: Ich aktualisiert haben, den Code zu sein sehr einfach, der Grund, warum dieses http://jsfiddle.net/g8vxmLn9/1/ funktioniert, ist, weil es ältere bootstrap und jquery verwendet, also nehme ich an, weil ich neuere benutze, habe ich die Probleme.

Ich möchte einfach nur eine Autocomplete-Box in einem Bootstrap (3.3) -Modell zeigen und die Ergebnisse während der Eingabe anzeigen lassen.

<!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"' in JS – Shehary

+0

nicht definiert @Shehary ich den Code aktualisiert, so dass seine einfacher und hat nichts mit Leinwand zu tun, immer noch nicht funktioniert – Zoinky

Antwort

23

Dieses regelte es

<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

Dies funktioniert für mich –

+0

_Explanation_: '.pac-container' ist das Wrapping div Element des Google Autocomplete-Ergebnisses. In diesem Fall hat modal bereits einen hohen 'z-index'. Also musst du den 'z-index' höher stellen als das Modal – Eranda

3

Wenn Sie noch auf der Suche sind.

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

Danke, hat für mich funktioniert! –

Verwandte Themen