В моем шаблоне у меня есть стране поле выбора, и область элемент, который динамически изменяться, основываясь на страны. Например, если я выберу Соединенные Штаты, провинция будет выбираться, включая США. Если я выберу другую страну, провинция будет только текстовым полем. Я знаю, что я должен сделать это с помощью Javascript, но я хочу знать, что в этом случае лучше всего подходит. Любое предложение?изменение формы наилучшей практики
ответ
Этот вопрос возникает почти ежедневно в stackoverflow ... Как обрабатывать sub-select как country-> state ...?
Лучшая практика для нескольких связанных отдельных типов полей является только загрузкой первого переключателе из базы данных с помощью специальной кнопки отправки для добавления подзапросов - может быть «показывают состояния» или аналогичными в вашем случае.
Не получать все возможные суб-выбирает при визуализации формы в первый раз. Это может легко привести к тяжелым запросам базы данных, если вы показываете что-то вроде страны -> штат -> город, например ... но страна -> состояние для всех стран уже слишком много.
Если форма была отправлена с использованием кнопки «показать состояния», добавьте связанный суб-выбор в форму вместе с кнопкой «показать города» или если никакие другие подвыборки не будут загружены .. с окончательным " сохранить ".
Таким образом, пользователь без JavaScript может использовать двойной выбор без использования вначале ненужных запросов подзаголовка. Просто сокрытие второго выбора с помощью JS составляет не передовая практика.
Прогрессивное улучшение через JavaScript затем будет AJAX -Loading т.е. JSON список стран для страны, убрав «показать состояния» кнопку, визуализации данных с помощью JS шаблонов двигателей, как рули или усы и добавление кнопки «Сохранить».
Таким образом, вам не нужно отправлять слишком много повторных данных в браузер клиента (опция, опция, опция ...).
Последним шагом было бы кэширование клиента и серверной части, чтобы ускорить время загрузки - возможно, даже включать в себя некоторую предварительную загрузку фона, т. Е. Лучшие 5 вариантов предпочтительного языка клиента.
не может быть яснее. Большое спасибо! –
- 1. PHP-дизайн наилучшей практики
- 2. RabbitMQ канал наилучшей практики
- 3. Рельсы проверки наилучшей практики
- 4. Исключение обработки наилучшей практики
- 5. Указатель наилучшей практики
- 6. Контейнерный шаблон наилучшей практики
- 7. Java перечисление наилучшей практики
- 8. если условие наилучшей практики
- 9. Symfony2 сущности наилучшей практики
- 10. AngularJS модель наилучшей практики
- 11. Код наилучшей практики Codeigniter
- 12. Перегрузка наилучшей практики
- 13. гнездовые модели наилучшей практики - рельсы
- 14. sql - таблицы наилучшей практики проектирования
- 15. CSS дублирующие правила наилучшей практики
- 16. Python наилучшей практики для функций
- 17. Использование первичных ключей наилучшей практики
- 18. Перевод в службе наилучшей практики
- 19. Rails radio_button рефакторинг наилучшей практики
- 20. RxJava бесконечный поток наилучшей практики
- 21. MYSQL Таблица псевдонимов наилучшей практики
- 22. Получение наилучшей практики для местоположения
- 23. .NET Спасибо/подтвердите страницу наилучшей практики
- 24. MVC код структурирования вопросы наилучшей практики
- 25. jQuery, где загрузить функции наилучшей практики
- 26. mongodb пользовательские журналы хранение наилучшей практики
- 27. WPF MVVM привязка наилучшей практики datacontext
- 28. Java-байт как повторитель счетчика наилучшей практики
- 29. Для удержания наилучшей практики типа индекс цикла
- 30. PHP, который является массивом наилучшей практики (...) или [...]
Вы можете использовать Javascript, чтобы отображать либо поле выбора с провинциями, либо поле ввода текста. Если вы хотите иметь разные списки провинций в зависимости от выбранной страны, вы можете использовать AJAX и загружать соответствующий список провинций всякий раз, когда страна меняется. –