使用google maps api
并尝试按select option value
搜索位置,实际上我将选择选项文字移动到谷歌地图搜索框并且效果很好,但谷歌地图搜索框需要enter
才能执行操作现在我想在这个搜索框上模拟enter key
,一切看起来不错,但这个模拟不能在这个搜索框上运行,任何解决方案?
$('#test').change(function() {
var val = $('#test option:selected').text();
$('#pac-input').val(val);
var e = jQuery.Event("keydown");
e.which = 13;
$("#pac-input").trigger(e);
});
$("#pac-input").keydown(function(e) {
if (e.which = 13) {
alert('Enter Pressed');
}
});
答案 0 :(得分:0)
如果(e.which = 13){是导致此问题的行 将此替换为 if(e.which == 13){,这可以解决您的问题。在第一种情况下,由于您要分配值,因此对于所有情况,它始终返回true。 == 会检查它的真实性,而不是简单地指定它。
答案 1 :(得分:0)
我找到了解决方案,实际上首先需要focus
然后keydown
功能,还应该使用google.maps.event.trigger
:
$('#test').change(function() {
var val = $('#test option:selected').text();
$('#pac-input').val(val);
var input = document.getElementById('pac-input');
google.maps.event.trigger(input, 'focus')
google.maps.event.trigger(input, 'keydown', {
keyCode: 13
})
});
<强> JSFiddle 强>