Поэтому я хочу, чтобы на разных сайтах моего веб-сайта (несколько форм) был выбран HTML-вариант стран.
У меня этот большой выбор со всеми странами. Но что теперь?
Какой самый элегантный способ "включить" его в несколько html файлов, а не раздувать их/дублировать код
Вопрос, кажется, является особым случаем: "Как включить HTML файл в файл HTML?", И практический ответ "Вы не". Вы можете делать включение на стороне сервера во многих технологиях (например, PHP), но это другая проблема. Вы можете подключаться к клиентскому JavaScript, но это делает элемент управления несуществующим, когда JavaScript отключен (или в нем возникает ошибка выполнения).
В случае меню выбора страны лучший подход не должен иметь его, за исключением случаев, когда он очень мал и специализирован (я думаю, что список стран-членов ЕС находится в верхнем пределе, если не выше). Большие выходы имеют плохую юзабилити. Кроме того, список стран трудно поддерживать - я думаю, что никогда не видел (на веб-страницах) выпадающего списка, в котором есть правильный список стран мира.
Вместо этого используйте текстовое поле ввода. Если вам нужно проанализировать ввод кода страны (и убедиться, что это признанная страна), выполните эту серверную часть.
Я думаю, что лучший способ - создать или использовать какой-нибудь существующий js-виджет, который можно использовать в нескольких html файлах. Проверьте этот пример для справки. Выбор страны
В этом случае вам нужно писать код всего один раз.
Вы можете добавить в javascript с вашими странами в и (используя jQuery) можете что-то сделать в соответствии с
var countries = ["UK", "USA", "India"]; //list all countries in one place
$.each(countries, function(i, val){
$("#CountryList").append(<option value="'+val+'">'+val+'</option>');
});
Это предполагает, что CountryList - пустой элемент выбора на каждой странице. Этот код предназначен только для руководства, и вам нужно будет написать свою собственную реализацию, чтобы сделать эту работу.
Если вы используете php, вы можете создать список выбора HTML один раз внутри файла, а затем просто включить файл везде, где он вам нужен: http://php.net/manual/en/function.include.php
Или вы можете создать класс и вернуть список в качестве результата метода или статического метода этого класса, где вам это нужно, на любой php-странице: http://php.net/manual/en/language.oop5.php