<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<link data-require="select2@*" data-semver="3.5.1" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.css" />
<link data-require="select2@*" data-semver="3.5.1" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2-bootstrap.css" />
<link rel="stylesheet" href="style.css" />
<script data-require="jquery@2.1.3" data-semver="2.1.3" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script data-require="select2@*" data-semver="3.5.1" src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.js"></script>
<script data-require="lodash.js@*" data-semver="2.4.1" src="http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
<input type="hidden" class="js-data-example-ajax form-control" />
<script src="script.js"></script>
</body>
</html>
// Code goes here
$(".js-data-example-ajax").select2({
ajax: {
url: "http://geocode-maps.yandex.ru/1.x/",
dataType: 'json',
delay: 250,
data: function (query) {
if (!query) query = 'Москва';
return {
geocode: query,
format: 'json'
};
},
results: function (data) {
var parsed = [];
try {
parsed = _.chain(data.response.GeoObjectCollection.featureMember)
.pluck('GeoObject')
.map(function (item, index) {
return {
id: index,
text: item.name
};
})
.value();
} catch (e) { }
return {
results: parsed
};
},
cache: true
}
});
/* Styles go here */