bet*_*ust 12 javascript jquery google-maps-api-3 google-places-api google-places
我正在使用谷歌地方图书馆中的谷歌自动填充地点(这里是https://developers.google.com/maps/documentation/javascript/places),我需要告诉用户何时从自动完成列表中选择了一个地点当他们点击其他地方,标签出来等等
我的目标是当用户与输入元件相互作用但并运行一个功能不选择自动完成选项.
在查看文档时,似乎唯一的事件是在(实际上,如果)地点发生变化时触发,这发生在(可能很长的)服务器往返之后.如果用户未从列表中选择任何内容,则永远不会触发该事件.(https://developers.google.com/maps/documentation/javascript/reference?hl=fr#Autocomplete上的文档 )
我可以为自动完成程序附加的输入元素附加一个监听器到blur事件,但问题是blur事件发生在places_changed事件发生之前.
到目前为止,已经尝试了许多方法,包括使用以下内容监听自动完成建议上的事件:
$('body').on('click', '.pac-item', function(){alert.log('yay!');});
谷歌图书馆显然吃了这些活动.
任何帮助将不胜感激.
谢谢!
您应该检查表单提交的时间,而不是使用事件进行检查.这是一步一步:
演示:http://jsfiddle.net/robertdodd/FSRd8/7/
我在上面放了一个小的演示.我所做的是将验证方法附加到表单.此方法将在提交表单之前检查数据,如果需要,请先执行手动查找.
function validateForm() {
    searchfield = $('#searchfield').val();
    if (searchfield == "" || searchfield == null) { 
        // No text entered
    } else if (place && searchfield == placesearch) { 
        // Success
        return true;
    } else { 
        // place info and search text do not match, perform manual lookup   
        // when lookup is complete, the callback function will store the place info
        // and resubmit the form
    }
    return false;
}
这只是发生了什么的概述,如果您希望看到它,所有代码都在演示中.
我希望这可以帮助你!
| 归档时间: | 
 | 
| 查看次数: | 6814 次 | 
| 最近记录: |