<div class="form-group">
<label for="sity" class="col-sm-2 control-label">Выберите город</label>
<div class="col-sm-10">
<select class="form-control" id="sity" multiple="multiple"></select>
</div>
</div>
$('#sity').select2({
ajax: {
url: "https://api.vk.com/method/database.getCities",
type: 'GET',
dataType: 'jsonp',
delay: 250,
data: function (params) {
return {
country_id: 1,
q: params.term // search term
};
},
processResults: function (data, params) {
console.log(data.response);
console.log(params);
var str = '';
for (var i in data.response) {
var region = (data.response[i]['region']) ? ' (' + data.response[i]["region"] + ')' : '';
str += '<option value="' + data.response[i]["cid"] + '">' + data.response[i]["title"] + region + '</option>';
}
console.log(str);
return str;
}
},
maximumSelectionLength: 1
});
valueList = $('#valueList').select2
({
minimumResultsForSearch: Infinity,
placeholder: 'Выберите значение',
});
..........
function initValueList(data)
{
valueList.html
(
$(
data.reduce(function(prev, cur, index)
{
return prev + '<option value="' + index + '">' + cur + '</option>';
}, ''
)
));
valueList.val(null).trigger('change');}
var valueList;
valueList = $('#sity').select2({
ajax: {
url: "https://api.vk.com/method/database.getCities",
type: 'GET',
dataType: 'jsonp',
delay: 250,
data: function (params) {
return {
country_id: 1,
q: params.term // search term
};
},
success: function (data) {
return initValueList(data.response);
}
},
maximumSelectionLength: 1
});
function initValueList(data) {
for (var i in data) {
var region = (data[i]["region"]) ? ' (' + data[i]["region"] + ')' : '';
var cid = data[i]["cid"];
var title = data[i]["title"];
valueList.html
(
$(function(cid, title, region) {
return '<option value="' + cid + '">' + title + region + '</option>';
}, '')
);
valueList.val(null).trigger('change');
}
}
{"response":[{"cid":1,"title":"Москва","important":1},{"cid":2,"title":"Санкт-Петербург","important":1},{"cid":10,"title":"Волгоград"},{"cid":37,"title":"Владивосток"},{"cid":153,"title":"Хабаровск"},{"cid":49,"title":"Екатеринбург"},{"cid":60,"title":"Казань"},{"cid":61,"title":"Калининград"},{"cid":72,"title":"Краснодар"},{"cid":73,"title":"Красноярск"},{"cid":95,"title":"Нижний Новгород"},{"cid":99,"title":"Новосибирск"},{"cid":104,"title":"Омск"},{"cid":110,"title":"Пермь"},{"cid":119,"title":"Ростов-на-Дону"},{"cid":123,"title":"Самара"},{"cid":151,"title":"Уфа"},{"cid":158,"title":"Челябинск"}]}
var valueList;
valueList = $('#sity').select2({
ajax: {
url: "https://api.vk.com/method/database.getCities",
type: 'GET',
dataType: 'jsonp',
delay: 250,
data: function (params) {
return {
country_id: 1,
q: params.term // search term
};
},
success: function (data) {
initValueList(data.response);
}
},
maximumSelectionLength: 1
});
function initValueList(data) {
valueList.html
(
$(data.reduce(function(cid, title, region) {
var reg = (region) ? ' (' + region + ')' : '';
return '<option value="' + cid + '">' + title + reg + '</option>';
}, ''))
);
valueList.val(null).trigger('change');
}
Uncaught ReferenceError: jQuery1124003864469288968775_1480858544606 is not defined
at database.getCities?callback=jQuery1124003…_1480858544606&country_id=1&q=в&_=148085854…:1
success: function (data) {
console.log(data);
}
</code<script type="text/javascript">
var valueList;
$(document).ready(function()
{
valueList = $('#valueList').select2
({
maximumSelectionLength: 1
});
$.ajax
({
url: "https://api.vk.com/method/database.getCities",
type: 'GET',
dataType: 'jsonp',
data:
{
country_id: 1
},
success: function(data)
{
initSelect2(data);
}
});
function initSelect2(data)
{
valueList.html
(
$(data.response.reduce(function(prev, cur, index)
{
return prev + '<option value="' + cur.cid + '">' +
cur.title + '</option>';
}, ''))
);
valueList.val(null).trigger('change');
}
});
</script>>
За ответ пойдет?
data: function (params) {
return {
country_id: 1,
q: params.term // в это место подставлялся запрос из поля и подгружались новые данные
};
},
$('#sity').select2({
ajax: {
url: "https://api.vk.com/method/database.getCities",
type: 'GET',
dataType: 'jsonp',
delay: 250,
data: function (params) {
return {
country_id: 1,
q: params.term // search term
};
},
processResults: function (data) {
return {
results: data.response
};
}
},
maximumSelectionLength: 1
});
$('#sity').select2({
ajax: {
url: "https://api.vk.com/method/database.getCities",
type: 'GET',
dataType: 'jsonp',
delay: 250,
data: function (params) {
return {
country_id: 1,
q: params.term // search term
};
},
processResults: function (data) {
var items = $.map(data.response, function(item, i, params) {
var reg = (item.region) ? ' (' + item.region + ')' : '';
var title = item.title + reg;
return {
id: item.cid,
text: title
};
});
return {results: items};
}
},
maximumSelectionLength: 1
});