Я реализую способ, которым пользователь может указать свой часовой пояс. Ничего нового. Я хочу услышать, что люди говорят о хорошей стратегии для обработки случаев, когда пользователям нужно выбрать из списка пару сотен вариантов, но они могут не сразу знать правильное значение для него в списке. Я знаю, что могу использовать что-то вроде автозаполнения, но это работает, только если люди знают, что ищут. Конечно, страны должны быть очевидны, но... наименьший общий знаменатель (некоторые люди тупые... как я;).
Существует более 400 различных часовых поясов iso (не считая таких вещей, как EST, PST и т. д., которые я не включаю). Это длинный список. Его можно удобно разделить, если мы позволим пользователю сначала выбрать страну, в которой он находится, скажем, в другом selectonemenu. Но там более 200 стран. Итак, как представить 200 стран, с которыми легко и эффективно работать?
Я уже создал и упаковал в банку ряд классов для чтения из файлов часовых поясов Олсона (iso3166.tab и zone.tab) и предоставления массивов часовых поясов и стран часовых поясов, включая приоритет определенных стран в верхней части списка. Но теперь я хотел бы, возможно, научиться лучше представлять страны и часовые пояса. Я сделал это сам, так как нашел более простой и чистый способ извлечения и сопоставления кодов стран и кодов часовых поясов.