Прискорююча кнопка n назначена для пропусків при навігації по сторінкам. Пропуск для переходу на початок контента.

Даний документ є перекладом. У випадку будь-яких невідповідностей і помилок остання версія документу англійською мовою повинна розглядатися як офіційна. Першопочаткове авторське право належить W3C, як це вказано нижче.

Перекладач: World translation (Олександр Шлапак)

s_gotoW3cHome Інтернаціоналізація
 

Сортування випадаючого списку

Аудиторія: шифрувальники XHTML/HTML (за допомогою редакторів і скриптів), розробники скриптів (PHP, JSP, і т. п.).

Питання

У рамках формі у мене є список термінів у випадаючому списку. Чому вони не правильно сортуються коли я перекладаю елементи зі списку?

Відповідь

Незважаючи на те, що безліч мов програмування мають випадаючі списки елементів з можливістю сортування елементів перед виведенням на екран, HTML елемент <select> позбавлений подібної властивості. Він виводить елементи <option> в тому порядку, в якому вони вказані в коді. Відповідно, для виведення у потрібному порядку їх потрібно відсортувати вручну або використовувати різні допоміжні інструменти розробників (наприклад через XSLT-перетворення).

Наприклад, у нас є випадаючий список, що складається з назв домашніх тварин. У списку містяться такі елементи в алфавітному порядку:

<form .....>
    <select size="1" name="pet">
       <option value='cat'>cat</option>
       <option value='dog'>dog</option>
       <option value='mouse'>mouse</option>
    </select>
...
...
</form>

Коли список переведений на Голандський мову, в ньому присутні такі елементи:

<form .....>
    <select size="1" name="pet">
       <option value='cat'>kat</option>
       <option value='dog'>hond</option>
       <option value='mouse'>muis</option>
    </select>
...
...
</form>

Для того щоб відповідати правилам сортування за алфавітом у Голаднській мові, ми повинні переставити елементи списку наступним чином:

<form .....>
    <select size="1" name="pet">
       <option value='dog'>hond</option>
       <option value='cat'>kat</option>
       <option value='mouse'>muis</option>
    </select>
...
...
</form>

Подібна операція проводиться для кожної відображуваної мови.

Доречі

Зауважте, що атрибути значення не переводяться. Поділ матеріалу відображуваного користувачеві і даних, які обробляються на стороні сервера, дозволяє розробникам зберігати незмінною серверну частину. Це означає, що вони не повинні міняти обробку значень, які вони отримують від користувача кожного разу, коли додається нова мова.

Розкажіть нам про те, що Ви думаєте.

Підписатися на RSS джерело.

Нові джерела

Новини головної сторінки

Twitter (Новини головної сторінки)

‎@webi18n

Додаткові матеріали

Автор: Russ Rolfe, Microsoft Corporation. Перекладач: World translation (Олександр Шлапак).

Допустимий XHTML 1.0!
Допустимий CSS!
Кодування UTF-8!

Переклад Англійського контенту від 2003-06-09. Переклад останнього оновлення 2011-11-05 16:00 GMT

Для перегляду історії внесення змін до перекладу натисність qa-select-sorting в блоге i18n.