我是布雷尔的新人,最近我遇到了一些困难。 我试图使用谷歌地图自动完成功能。在我的JavaScript示例中,一切都很好。
<html>
<head>
<title>Autocomplete</title>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places" type="text/javascript"></script>
<script type="text/javascript">
function initialize() {
var options = {
types: ['(cities)']
};
var input = document.getElementById('searchField');
var autocomplete = new google.maps.places.Autocomplete(input, options);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div>
<input id="searchField" type="text" size="50" placeholder="Location..." autocomplete="off">
</div>
</body>
</html>
但是在我的ember应用程序中,当我使用鼠标输入框选择位置时,值不会改变(仅适用于键盘)。例如。我正在写 New Yo ,然后从下拉列表中选择 New York ,但我的价值仍然是 New Yo
这是我的代码:
应用/组件/ GMAP-search.js
import Ember from 'ember';
export default Ember.Component.extend({
searchTextField: function() {
var options = {
types: ['(cities)']
};
var input = this.$('.search-field')[0];
new window.google.maps.places.Autocomplete(input, options);
}.on('didInsertElement')
});
应用程序/模板/组件/ GMAP-search.hbs
{{input class="search-field form-control" type="text" value=offer.location placeholder="" required="required"}}
应用程序/模板/ application.hbs
{{gmap-search offer=offer }}
我将不胜感激任何帮助
答案 0 :(得分:0)
我认为在向服务器提交数据时会出现问题?它当然应该有所帮助:
submit: function() {
this.set('offer.location', this.$('.search-field')[0].value);
...
}