0

我需要解决一个简单的用例如下

有一个包含两个自动完成器的表单:

  1. 选择城市
  2. 选择该城市的区域

当我们选择一个特定城市时,我想在区域自动完成器中加载该城市的区域。

    $.subscribe('citySelectTopic', function(event, data) {
        var ui = event.originalEvent.ui;
        var message = ui.item.value;
        if(ui.item.key) {
            message = '( '+ ui.item.key +' ) '+message;
        }
        alert(message); // ? What more to write here?
    });

<s:url var="remoteurl123" action="loadCity" namespace="/"/>


<sj:autocompleter id="cityAutocompleter" dataType="json" href="%{remoteurl123}"
    loadMinimumCount="3" list="cities" listKey="id" 
    listValue="name" onSelectTopics="citySelectTopic"/>


<sj:autocompleter id="areaAutocompleter" list="cities" 
    listKey="id" listValue="name" reloadTopics="citySelectTopic" />

我的 loadCity 操作返回输入名称的所有城市的列表 - 现在 onselectTopics 执行以下操作但不知道如何

  1. OnSelectTopics - 加载所选城市的所有区域 - 需要传递城市 ID

  2. OnSuccess of #1 - 显示在 #areaAutocompleter 中返回的所有区域的列表

有人可以帮我这样做吗?

4

1 回答 1

1

您可以使用路径 Ajax -> Form -> Ajax Select (double select) 在展示中查看示例

http://struts.jgeppert.com/struts2-jquery-showcase/index.action

或下载展示包并检查源代码。

于 2013-02-08T00:16:45.053 回答