我正在关注this教程以实施Google商家信息自动填充功能。但是,这仅适用于现有的静态定义文本字段。在我的测试应用中,我动态添加了文本字段,用户点击按钮可添加更多文本字段。
<input maxlength="40" name="Point[location][]" id="Point_location" type="text" placeholder="Enter a location" autocomplete="off">
<input maxlength="40" name="Point[location][]" id="Point_location2" type="text" placeholder="Enter a location" autocomplete="off">
这是我的javascript
<script>
var location = $("input[id^=Point_location]")[0];
var autocompleteLocation = new google.maps.places.Autocomplete(location, options);
google.maps.event.addListener(autocompleteLocation, 'place_changed', function () {
var placeLocation = autocompleteLocation.getPlace();
});
</script>
我似乎无法使用id为Point_location或刚刚添加的输入来使用任何现有输入来自动完成。
感谢您的任何帮助。
答案 0 :(得分:2)
当你发布了创建克隆的代码时,会更容易回答。
我猜你只是克隆输入,这将无济于事。您必须为每个输入创建一个新的自动完成实例:
//create the clone
var clone=$(location).clone(false).val('').appendTo('body');
//apply Autocomplete
var ac = new google.maps.places.Autocomplete(clone[0]);
//apply listener
google.maps.event.addListener(ac, 'place_changed', function () {
var placeLocation = this.getPlace();
});