gpt4 book ai didi

php - 使用 Select2 的 Laravel 5,使用 ajax 加载数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:28:09 26 4
gpt4 key购买 nike

首先,这是我到目前为止的代码。

我的路线:

Route::get('cities/citybylang/{lang_id}', [
'uses' => 'CitiesController@cityByLanguage',
'as' => 'dashboard.cityByLanguage'
]);

我的 Controller :

public function cityByLanguage($lang_id){
$cities = City::select('name','id')->where('lang_id',$lang_id)->get();

return $cities;
}

我的 View 选择

<select class="js-data-example-ajax">
<option value="3620194" selected="selected">select2/select2</option>
</select>

我的 Select2 代码

$(".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;
}

好的,基本问题是,我无法将正确的参数传递给 Controller ​​。这就是现在的工作方式:我开始在选择字段中输入内容,它会给出一个列表,其中包含 lang_id = 1 的城市。
因此 ajax 调用将其发送到 Controller :
somthing.com/dashboard/cities/citybylang/1?q=[值,我在选择字段中键入的内容]
我有漂亮的 url,所以我想要这样的东西:
somthing.com/dashboard/cities/citybylang/[值,我在选择字段中输入的内容]


所以问题是,我怎样才能以正确的方式将参数传递给 Controller ​​?

最佳答案

这个问题很老,但我一直在寻找与我处理它的方式相同的东西。

url: function(params) {
return '/some/url/' + params.term;
},

这是引用链接 https://select2.github.io/options.html

关于php - 使用 Select2 的 Laravel 5,使用 ajax 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33238127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com