【发布时间】:2019-02-07 21:52:28
【问题描述】:
我创建了数据库并获取并显示。但我希望获取数据显示在下拉(选择)框中,同时使用 id 或 name
1) 有什么方法可以完成上述工作, 2) 可以包含 jQuery、Ajax 3)我的平台Laravel
【问题讨论】:
标签: laravel-5
我创建了数据库并获取并显示。但我希望获取数据显示在下拉(选择)框中,同时使用 id 或 name
1) 有什么方法可以完成上述工作, 2) 可以包含 jQuery、Ajax 3)我的平台Laravel
【问题讨论】:
标签: laravel-5
希望对你有帮助 注意:您的路由必须是 GET 并返回 json
Laravel php:
$options = Option::all()
return response()
->json($options)
Js
$(document).ready(function(){
$.ajax({
url: "{{ url('path'); }}",
type: "GET",
processData: false,
contentType: false,
beforeSend: function() {
},
success: function(data){
$.each(data, function(key, value) {
$('#mySelect')
.append($("<option></option>")
.attr("value",key)
.text(value));
});
},
error: function(xhr, ajaxOptions, thrownError) {
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
【讨论】:
您可能应该只在 laravel 中使用 post 方法创建一个路由。响应 json 结果,在您的 jquery 代码中,您应该使用 ajax 函数来检索结果并将其放入下拉框中。
注意:必须在您的 html 头中和 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 在 ajax 头中。
【讨论】:
Route::post('test', function (Request $request) {
$data = Your_MODE:all()
Route::view('/test', 'test',['data' => $data]);
});
<select>
@foreach ($data as $item)
<option value="{{ $item->id }}">{{ $item->name }}</option>
@endfor
</select>
【讨论】:
$.ajax({
类型:'得到',
网址:'获取数据',
成功:函数(数据){
$.each(data, function(key, value){
$('#select_id')
.append($("")
.attr("值",value.id)
.text(value.name));
})
}
})
【讨论】: