Может ли кто-нибудь помочь проверить мой код, я пытаюсь настроить автозаполнение при вводе ввода, но, похоже, не работает: консоль не показывает ошибки, но автозаполнение просто не работает.Autocomplete in Map с использованием нокаута js
Вот код:
var mapApplication = function(){
var mapsModel = {
fromAddress: ko.observable(),
toAddress: ko.observable()
};
// method to add custom binding handler to the KO
var configureBindingHandlers = function(){
// custom binding for address auto complete
ko.bindingHandlers.addressAutoComplete = {
init: function(element, valueAccessor){
//create autocomplete object
var autocomplete = new google.maps.places.Autocomplete(element, {types:['geocode']});
// when user selects an address from the drop down, populate the address in the model.
var value = valueAccessor();
google.maps.event.addListener(autocomplete, 'place_changed', function(){
var place = autocomplete.getPlace();
console.log(place);
value(place);
});
}
};
};
var init = function(){
// add code to initialise the module
ko.applyBindings(mapApplication);
};
// execute the init function when the DOM is ready
$(init);
return {
// add member that will be exposed publicly
mapsModel: mapsModel
};
}();
и HTML:
<div class="panel-heading">Address</div>
<div class="panel-body">
<div id="addressFromFields" class="form-group">
<label for="autocompleteFromAddress"> From Address</label>
<input id="autocompleteFromAddress" class="form-control" data-bind="addressAutoComplete: mapApplication.mapsModel.fromAddress" placeholder="where are u from" type="text">
</div>
<div id="addressToFields" class="form-group">
<label for="autocompleteToAddress"> From Address</label>
<input id="autocompleteToAddress" class="form-control" data-bind="addressAutoComplete: mapApplication.mapsModel.toAddress" placeholder="where are you going" type="text">
</div>
</div>
Можете ли вы быть более конкретными о том, что вы имеете в виду под «не работает»? Вызывается ли ваш обратный вызов для прослушивателя автозаполнения? –