我需要一些帮助才能在此下拉过滤器上获取更多值。 我有3个下拉菜单,第一个给我所有的“公司”,第二个给我显示该公司的所有“块”,最后一个给我所有该块的房间。
因此,我需要在最后一个下拉列表中显示3个值('id','sala','name')。我该怎么办?
在这里,我如何获取值以填充上一个下拉列表:
public function getAmbienteRev(Request $request)
{
$ambientes = DB::table("ambientes")
->where("bloco_id",$request->bloco_id)
->orderByRaw("sala", "asc")
->pluck('sala', 'id');
return response()->json($ambientes);
}
这里是过滤值的代码:
$('#unidade').change(function() {
var unidadeID = $(this).val();
if (unidadeID) {
$.ajax({
type: "GET",
url: "{{url('get-bloco-rev')}}?unidade_id=" + unidadeID,
success: function(res) {
if (res) {
$("#bloco").empty();
$("#bloco").append('<option>Selecione o Bloco</option>');
$.each(res, function(key, value) {
$("#bloco").append('<option value="' + key + '">' + value + '</option>');
});
} else {
$("#bloco").empty();
}
}
});
} else {
$("#bloco").empty();
$("#ambiente").empty();
}
});
$('#bloco').on('change', function() {
var blocoID = $(this).val();
if (blocoID) {
$.ajax({
type: "GET",
url: "{{url('get-ambiente-rev')}}?bloco_id=" + blocoID,
success: function(res) {
if (res) {
$("#ambiente").empty();
$("#ambiente").append('<option>Selecione a Sala</option>');
$.each(res, function(key, value) {
$("#ambiente").append('<option value="' + key + '">' + value + '</option>');
});
} else {
$("#ambiente").empty();
}
}
});
} else {
$("#ambiente").empty();
}
});
我需要这样的东西:
$.each(res, function(key, value, name) {
$("#ambiente").append('<option value="' + key + '">' + value + ' - ' + name +'</option>');
});
我进行了以下更改:
->pluck('name','sala', 'id')
和脚本
$.each(res, function(key, value1, value2) {
console.log(res);
$("#ambiente").append('<option value="' + key + '">' + value1 + ' - ' + value2 + '</option>');
});
console.log(res)
{101: "Sala de Aula", 102: "Sala de Aula", 103: "Lab de Criatividade e Inovaçăo", 105: "Atelier de Moda 2", 106: "Sala de Desenho 1", 107: "Sala de Aula", 109: "Sala de Aula", 110: "Sala de Aula", 113: "Sala de Aula", 114: "Atelier de Projeto 2 Design", 115: "Atelier de Projeto 3 Design", 116: "Atelier de Projeto 4 Design", 117: "Atelier de Projeto 5 Design", 118: "Atelier de Projeto 6 Design", 201: "Laboratorio de Simulaçăo e Projetos 1", 202: "Laboratório de Simulaçăo e Projetos 2", 203: "Laboratorio de Telecomunicaçőes", 204: "Laboratorio de Eletronica de Potencia", 206: "Sala de Aula", 207: "Laboratório de Eletrônica", 209: "Laboratório de Eletrônica", 210: "Sala de Aula", 213: "Espaço Fotográfico lab.fotogafico", 214: "Sala de Aula", 215: "Sala de Aula", 216: "Sala de Aula", 218: "Sala de Aula", 219: "Sala de Aula", 220: "Sala de Aula", 221: "Sala de Aula", 001: "Laboratório de Computaçăo 01", 002: "Laboratorio de Computaçăo 02", 002A: "Lab. de Informática 7", 002B: "Lab. de Informática 8", 002C: "Lab. de Informatica 9", …}
但是在下拉列表中显示
<option value="101">Sala de Aula - undefined</option>
答案 0 :(得分:0)
我使用控制器上的concat解决了该问题。
$ambientes = DB::table("ambientes")
->where("bloco_id",$request->bloco_id)
->orderByRaw("sala", "asc")
->pluck(DB::raw('CONCAT(sala," - ",name) AS name'),'id');
return response()->json($ambientes);
tks