Прежде всего, вот мой код.Laravel 5 с Select2, Загрузка данных с помощью ajax
Мой маршрут:
Route::get('cities/citybylang/{lang_id}', [
'uses' => '[email protected]',
'as' => 'dashboard.cityByLanguage'
]);
Мой контроллер:
public function cityByLanguage($lang_id){
$cities = City::select('name','id')->where('lang_id',$lang_id)->get();
return $cities;
}
мой взгляд выбрать
<select class="js-data-example-ajax">
<option value="3620194" selected="selected">select2/select2</option>
</select>
Мой Выбор2 код
$(".js-data-example-ajax").select2({
ajax: {
url: "/dashboard/cities/citybylang/1",
dataType: 'json',
delay: 250,
data: function (params) {
console.log(params.term);
return {
q: params.term, // search term
page: params.page,
name: params.name
};
},
beforeSend: function(jqXHR, settings) {
console.log(settings.url);
},
processResults: function (data, page) {
console.log(data);
// parse the results into the format expected by Select2.
// since we are using custom formatting functions we do not need to
// alter the remote JSON data
return {
results: data
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
});
});
function formatRepo (repo) {
if (repo.loading) return repo.text;
var markup = '<div class="clearfix">' +
'<div clas="col-sm-10">' +
'<div class="clearfix">' +
'<div class="col-sm-6">' + repo.name + '</div>' +
'<div class="col-sm-3"><i class="fa fa-code-fork"></i> ' + repo.name + '</div>' +
'<div class="col-sm-2"><i class="fa fa-star"></i> ' + repo.name + '</div>' +
'</div>';
if (repo.name) {
markup += '<div>' + repo.name + '</div>';
}
markup += '</div></div>';
return markup;
}
function formatRepoSelection (repo) {
return repo.name || repo.text;
}
Okey, основная проблема заключается в том, что я не могу передать правильный параметр контроллеру. Вот как эта работа теперь: я начинаю вводить в поле выбора и дать список с городами, которая имеет lang_id = 1.
Поэтому вызов Ajax отправить на контроллер:
somthing.com/ ? приборная панель/города/citybylang/1 д = [значение, то, что я типа в поле выбора]
У меня есть довольно URL, так что я хочу что-то вроде этого:
somthing.com/dashboard/cities/citybylang/ [ значение, которое я набираю в поле выбора]
Итак, вопрос в том, как передать параметр контроллеру в правильный путь?