我使用Google地图的自动填充功能来建议用户输入的位置(http://code.google.com/p/geo-autocomplete/)。一旦用户点击其中一个建议,javascript就会将其填入文本字段。一旦发生这种情况,我就想重新加载页面,传递用户通过URL点击的完整地址。
我尝试将onclick()放在建议列表中并重新加载页面,但是,例如,如果用户键入“dubl”然后从建议中单击“都柏林,爱尔兰”,页面重新加载通过“dubl”。所以我需要在javascript填充文本字段后重新加载页面。但我无法找到javascript正在做的事情......
答案 0 :(得分:2)
我不知道哪个API jquery使用了,如果没有更多信息我无法提供确切的答案,但我想我可以指出方向。你有一些问题需要克服:
首先,自动填充API通常会有一个选择下拉列表的事件。这通常是因为在自动完成创建元素之前元素不存在,因此您无法提前编写选择器。 jQuery UI自动完成执行此操作:
"Triggered when an item is selected from the menu;
ui.item refers to the selected item. The default
action of select is to replace the text field's value
with the value of the selected item. Canceling this event
prevents the value from being updated, but does not
prevent the menu from closing."
$( ".selector" ).autocomplete({
select: function(event, ui) { //override this behavior }
});
您的另一个大问题是,如果您无法通过触发页面重新加载来停止自动完成,则在页面重新加载之间没有有效的客户端方式进行通信。除非您可以将查询字符串附加到.html?reload=true
之类的网址或类似的内容,否则您将无法告知重新加载的页面,它已经重新加载。