Есть ли у кого-нибудь простой пример выпадающего списка страны, с флагами стран, для Select2
? Я собираюсь реализовать один на основе предложения this, но я предпочел бы не изобретать колесо.Select2 drop-down для стран, с флагами
ответ
Посмотрите на следующие ссылки.
http://www.marghoobsuleman.com/countries-dropdown-flags http://vincentlamanna.com/BootstrapFormHelpers/country.html
<head>
<link href="select2.css" rel="stylesheet"/>
<script src="select2.js"></script>
<script>
$(document).ready(function() { $("#e1").select2(); });
</script>
</head>
<body>
<select id="e1">
<option value="1">Albania<img src="Albania.jpg"></option>
...
<option value="2">Germany<img src="Germany.jpg"></option>
</select>
</body>
Спасибо, но это слишком грубо. Мне все равно нужно собрать изображения (jpgs, никоим образом!), Список стран и т. Д. Я искал некоторую библиотеку javascript, где я могу просто передать массив стран (например, по ISO-коду) и получить полностью инициализированный выпадающий список Select2, с флагами. – dangonfast
Путь я это сделал:
<div class="form-group">
<label class="control-label">Destination</label>
<input type="text" name="cdCountry" class="form-control" required />
</div>
<script>
$("[name='cdCountry']").select2({
placeholder: "Select a country",
formatResult: function (country) {
return $(
"<span><i class=\"flag flag-" + country.id.toLowerCase() + "\"></i> " + country.text + "</span>"
);;
},
data: yourDataSource
});
</script>
и используя библиотеку CSS (CSS и спрайт) https://www.flag-sprites.com/
я работал на аналогичный проблема, и вот как я ее решаю.
(function($) {
$(function() {
var isoCountries = [
{ id: 'AF', text: 'Afghanistan'},
...
];
//Assuming you have a select element with name country
// e.g. <select name="name"></select>
$("[name='country']").select2({
placeholder: "Select a country",
data: isoCountries
});
});
})(jQuery);
Я также сделал gist об этом, и следующие являются демки.
[Select2; Примеры - Templating] (https://select2.github.io/examples.html#templating) показывает флаг, когда вы выбираете страну в качестве выбранного параметра в раскрывающемся списке. Я скопировал то, что они сделали, подобно вашему [Demo 2 with flags] (http://jsfiddle.net/Starx/sgb4888k/2/), однако это не показывает флаг при выборе опции. Как я могу воспроизвести это, пожалуйста? –
Удивительное решение - работает для моего расширения действия на странице Chrome –
@TimMarshall Если вы все еще не исправили его, могу ли я увидеть какой-то код с тем, что вы попытались? – Starx
вторая ссылка мертва = [ – Relequestual
первая ссылка хорошая библиотека, но она имеет много ошибок и не реагирует –
@VivienPipo да это не реагирует, но это очень полезно и для отзывчивости вам нужно сделать их отзывчивыми, как изменить ширину .dd class –