我有一个谷歌地图,我想在动态下拉菜单中选择值时触发一个功能。为此,我添加了一个监听器,并提交了如下表格。
var input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('id', 'pac-input');
input.setAttribute('class', 'controls');
input.setAttribute('placeholder', 'Search By Area');
input.addEventListener("change", function(event) {
checkInputKey_map(event, $(this));
});
在checkInputKey
我正在向控制器发送带有所选值的ajax,但是在post请求中,参数go不是所选的全名。相反,它是为获取地点而编写的关键字。虽然我想要发送完整的搜索名称。任何帮助将不胜感激
更新
function checkInputKey_map(event,this) {
if ((event.keyCode == 13 || event.type == 'change') && $("#API_source_map").val() == 'yelp_places') {
searched_place = $('#pac-input').val();
console.log(searched_place);
}
}
答案 0 :(得分:0)
总是回答你自己的问题感觉很好但很烦人。但所有事情都是分开的我做了一个技巧,我将相同的监听器应用于输入,但延迟了一秒钟。我的最终代码如下所示
var input = document.createElement('input');
input.setAttribute('type','text');
input.setAttribute('id','pac-input');
input.setAttribute('class','controls');
input.setAttribute('placeholder','Search By Area');
input.addEventListener("change", function(event){
setTimeout(function() {
checkInputKey_map(event, $(this));
},1000);
});