AEM 6.1:实施国家/地区下拉列车的最佳方式

时间:2015-09-22 13:53:37

标签: cq5 aem experience-manager

-->

执行以下操作的最佳方式是什么:

  1. 带有COUNTRYies的下拉列表。国家/地区列表采用json格式,从Web服务中检索。

  2. 根据国家/地区选择显示或预填充STATE下拉列表。

  3. 这看起来是标准要求,但无法找到合适的解决方案。

    如果使用Sightly,我们现在做了什么,拨打电话获取json中的国家列表并填充,并根据选择显示STATES(美国)或PROVINCES(加拿大)并进行显示/隐藏。但是正在寻找更好的替代品。

    <!-- COUNTRY -->
    <select class="myContactFieldSelect" id="companyCountry" tabindex="22" name="countryID">
    <option value="">Please Select</option>
    <div data-sly-list.country="${jHelper.pJSON.countryList}" data-sly-unwrap>
        <option value="${jHelper.pJSON.countryList[country].countryID @ context='html'}">
            ${jsonHelper.parsedJSON.countryList[country].countryLongName @ context='html'}
        </option>
    </div>
    </select>
    
    <!-- STATES or PROVINCES -->
    <select class="myContactFieldSelect" id="companyState" tabindex="20" name="stateLongName" style="display: none;">
    <option selected="selected" value="">Please Select</option>
    <div data-sly-list.state="${jHelper.pJSON.stateListUS}" data-sly-unwrap>
        <option>${jHelper.pJSON.stateListUS[state].stateLongName @ context='html'}</option>
    </div>
    </select>
    
    <!-- OR -->
    
    <select class="myContactFieldSelect" id="companyProvince" tabindex="21" name="provinceLongName" style="display: none;">
    <option selected="selected" value="">Please Select</option>
    <div data-sly-list.province="${jHelper.pJSON.stateListCA}" data-sly-unwrap>
        <option>${jHelper.pJSON.stateListCA[province].stateLongName @ context='html'}</option>
    </div>
    </select>
    

1 个答案:

答案 0 :(得分:0)

我的解决方案是:

  1. 管理分类中的国家/城市层次结构
  2. 从Country-City
  3. 的分类法创建Json
  4. 使用Javascript阅读Json并为国家/地区填充正确的城市
  5. 可以通过根据用户地理位置预填充国家/城市来增强上述解决方案。

相关问题
最新问题