これが私の問題です: Google Places Autocomplete を使用して、ユーザーから場所に関する情報を収集しています。
イベント「place_changed」で、この情報を保存します。ただし、ユーザーが複数の場所を追加できるようにしたいと考えています。したがって、この場所が保存された後、入力をクリアしたいと思います。
ただし、Google オートコンプリートは、入力フィールドの最後のエントリを自動的に置き換えます。とにかくそれを取り除くために?
詳細:
var inputDiv = $('#myinput');
var options = {
types: ['(cities)']
};
var autocomplete = new google.maps.places.Autocomplete(inputDiv[0], options);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var places = autocomplete.getPlace();
savePlaces(places);
console.log(inputDiv.val()); // 'Paris, France'
inputDiv.val('');
console.log(inputDiv.val()); // (an empty string)
setTimeout(function() {
console.log(inputDiv.val()); // 'Paris, France' (It's back!)
inputDiv.val('');
console.log(inputDiv.val()); // (an empty string)
}, 1);
setTimeout(function() {
console.log(inputDiv.val()); // (an empty string)
}, 10);
}
あなたは私に言うでしょう、まあそれは問題ないようです、タイムアウトでそれをクリアしてください。しかし、入力から離れてクリックすると(フォーカスが失われます)。前回のエントリーが再び登場!
それを修正するアイデアはありますか?Google のドキュメントに次のような関数が見つかりませんでした
autocomplete.clear();
ありがとう!