我很难弄清楚这一点。在我的代码中,有一个按钮可以添加动态输入字段,这很好。但我希望该字段有自动完成的谷歌地址。但我的功能不起作用,因为我不知道该把它放在哪里才能实现这些功能。
(function($) {
$(document).ready(function() {
var max_fields = 10; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append(
'<div><input type="text" class="form-control" id="searchInput" placeholder="Start typing and find your place in google map"><a href="#" class="remove_field">Remove</a></div>'); //add input box
// Autocomplete google address
function initMap() {
var input = document.getElementById('searchInput');
var autocomplete = new google.maps.places.Autocomplete(input);
}
initMap();
}
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
})
})(jQuery);
上面代码的一个问题是您的DOM将有多个带有id="searchInput"
的元素。Id应该是唯一的。
也许试试:
var newInput = $('<div><input type="text" class="form-control" placeholder="Start typing and find your place in google map"><a href="#" class="remove_field">Remove</a></div>');
$(wrapper).append(newInput);
new google.maps.places.Autocomplete(newInput.find("input"));