Jquery mobile 在jquery移动面板中集成GooglePlaces(自动完成)

Jquery mobile 在jquery移动面板中集成GooglePlaces(自动完成),jquery-mobile,google-maps-api-3,Jquery Mobile,Google Maps Api 3,我正在寻找整合谷歌的自动完成地点api(为位置建议通过)。我希望自动完成附加到位于jquery“panel”(jqm版本1.4.2)中的文本输入字段。该面板在页面加载时明显隐藏,在单击按钮时暴露 作为记录,当输入不在面板内时,我已经让autocomplete正常工作。因此,我知道我很好地导入了js文件,并且对工作原理有了基本的了解 我使用以下代码触发自动完成绑定: var input = document.getElementById('locationSearch'); var option

我正在寻找整合谷歌的自动完成地点api(为位置建议通过)。我希望自动完成附加到位于jquery“panel”(jqm版本1.4.2)中的文本输入字段。该面板在页面加载时明显隐藏,在单击按钮时暴露

作为记录,当输入不在面板内时,我已经让autocomplete正常工作。因此,我知道我很好地导入了js文件,并且对工作原理有了基本的了解

我使用以下代码触发自动完成绑定:

var input = document.getElementById('locationSearch');

var options = {
//bounds: defaultBounds,
// types: ['establishment','(cities)']
};

// initiate autosuggest
autocomplete = new google.maps.places.Autocomplete(input, options);
当我查看页面时,自动完成功能不起作用。我在firebug/etc中没有收到任何错误。但是,如果我在firebug控制台中手动运行命令,getelementbyid会工作,但初始化失败,并显示以下错误消息:

TypeError:a[$G]不是函数

D8()main.js…>eval(第18行)R8[I].Ml()main.js…>评估(第34行) 吉隆坡/评估(1号线)质量/评估(1号线)

…Y(“输入”);变量 c=a$G;null==c?this.L | a[W](“占位符”,this.H

第375行> 蒸发线375>蒸发线375>蒸发线375>蒸发线375>蒸发

我甚至尝试过将初始化代码移动到jqm面板的“beforeopen”中,但是,我得到了相同的结果。我的想法是,面板的创建过程暂时将对象从DOM中移除,或者其他会破坏自动完成绑定的东西,但这没有帮助

有什么想法吗?我不知道该怎么办

谢谢!

好的,找到答案了

继续我的调查,我将其切换为尝试在jqm弹出模式而不是面板中工作,但仍然没有成功。但是,我将我的google术语更改为查找弹出模式而不是面板,并发现以下结果:

G.Tandon(对他自己的问题)的回答中的解决方案对我来说效果很好。结果表明,结果隐藏在面板和弹出模式后面,只需要放在最前面


谢谢!(对g.tandon来说,这是一个大问题!)

请注意,将选项留空是一种有效的方法,不应该是错误的原因。问题与输入的位置有关(在jqm面板中)。