0

我遵循了 Struts jQuery Autocompleter 的示例和带有属性的标签

<sj:autocompleter id="destination" name="destination" list="%{locationList}" listValue="name"  listKey="id" selectBox="true" selectBoxIcon="true" 
cssClass="styled-dropdown" onSelectTopics="autocompleteSelect"/>

并且有

$.subscribe('autocompleteSelect', function(event,data).

我的问题是在选择位置后,我想获取选择键值,然后从 db 查询地理编码,然后在地图上重新加载地图标记。我尝试在自动完成程序为我生成的输入标签“destination”上使用 getElementById,但在 autocompleteSelect 事件期间尚未设置该值。有没有办法在自动完成选择期间获取“输入”标签值?

我可以在订阅事件中使用 (event.originalEvent.ui.item.option['value']) 获取键值,但我不知道如何用新的地图标记替换旧的地图标记,因为我有 2自动完成标签,一个用于 startLocation,一个用于目的地。有没有办法让事件知道哪个元素正在调用 autocompleteSelect?

谢谢

4

1 回答 1

0

您必须将第二个自动完成器的小部件的 href 绑定到旧的 json 查询 + 使用的额外参数

jQuery.struts2_jquery_ui.bind(widget,options_auto_iban_widget);

我只是发布了一个示例: How to reload the struts2-jquery autocompleter X with value selected from another struts2-jquery autocompleter Y

于 2013-10-10T16:30:24.393 回答