2013-08-07 6 views
3

Есть ли у кого-нибудь простой пример выпадающего списка страны, с флагами стран, для Select2? Я собираюсь реализовать один на основе предложения this, но я предпочел бы не изобретать колесо.Select2 drop-down для стран, с флагами

ответ

1
+0

вторая ссылка мертва = [ – Relequestual

+1

первая ссылка хорошая библиотека, но она имеет много ошибок и не реагирует –

+0

@VivienPipo да это не реагирует, но это очень полезно и для отзывчивости вам нужно сделать их отзывчивыми, как изменить ширину .dd class –

1
<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> 
+0

Спасибо, но это слишком грубо. Мне все равно нужно собрать изображения (jpgs, никоим образом!), Список стран и т. Д. Я искал некоторую библиотеку javascript, где я могу просто передать массив стран (например, по ISO-коду) и получить полностью инициализированный выпадающий список Select2, с флагами. – dangonfast

3

Путь я это сделал:

<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/

6

я работал на аналогичный проблема, и вот как я ее решаю.

(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 об этом, и следующие являются демки.

+0

[Select2; Примеры - Templating] (https://select2.github.io/examples.html#templating) показывает флаг, когда вы выбираете страну в качестве выбранного параметра в раскрывающемся списке. Я скопировал то, что они сделали, подобно вашему [Demo 2 with flags] (http://jsfiddle.net/Starx/sgb4888k/2/), однако это не показывает флаг при выборе опции. Как я могу воспроизвести это, пожалуйста? –

+1

Удивительное решение - работает для моего расширения действия на странице Chrome –

+0

@TimMarshall Если вы все еще не исправили его, могу ли я увидеть какой-то код с тем, что вы попытались? – Starx