Поместите указанный индекс из массива в верхнюю часть поля выбора

У меня есть следующий массив:

Array
(
   [2] => Afganistan
   [3] => Africa
   [4] => Albania
   [5] => Alegira
   [6] => Turcia
 )

В шаблоне.handlebars я делаю:

{{#each oForm.lCountry}}
    <option value="{{@key}}">
      {{this}}
    </option>
{{/each}}

В первом значении selectbox я получаю Afganistanкак сделать проверку, поставив первое значение Turcia? Пожалуйста, помогите мне. Спасибо заранее и извините за мой английский

1 ответ

Решение

Я бы предложил просто пометить "Турцию" как выбранную.

Помощник руля: (версия Javascript)

Handlebars.registerHelper('eq', function(a, b, block) {
    return a == b ? block.fn(this) : block.inverse(this);
});

Шаблон:

{{#each oForm.lCountry}}
    <option value="{{@key}}" {{#eq this 'Turcia'}}selected="true"{{/eq}}>
      {{this}}
    </option>
{{/each}}

Выход:

<option value="2" >
    Afganistan
</option>
...
<option value="6" selected="true">
    Turcia
</option>

Теперь "Turcia", будет выбран по умолчанию. Что более логично, так что вы можете поддерживать алфавитный порядок.

Если вы хотите, чтобы "Turcia" появлялся первым любым способом, просто измените порядок массива в PHP.

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