AEM 6.1: лучший способ реализовать раскрывающийся список стран и штатов

Что было бы лучшим способом сделать следующее:

  1. Выпадающий список со СТРАНАМИ. Список стран представлен в формате json, полученном из веб-службы.

  2. Показать или предварительно заполнить раскрывающийся список СОСТОЯНИЕ на основе выбора страны.

Это выглядит как стандартное требование, но не смог найти правильного решения.

То, что мы сделали на данный момент, используя Sightly, позвоните, чтобы получить список стран в формате json и заполнить, и на основе выбора выберите STATES(для США) или PROVINCES(для Канады) и выполните Show/Hide. Но искал лучшие альтернативы.

<!-- 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 ответ

Мое решение будет:

  1. Управление страновой / городской иерархией в таксономии
  2. Создать Json из таксономии для Country-City
  3. Используйте Javascript, чтобы прочитать Json и заполнить правильный город для страны

Вышеупомянутое решение может быть улучшено путем предварительного заполнения страны / города на основе геолокации пользователя.

Другие вопросы по тегам