[英]Laravel - Show db data based on select options
我是 laravel 的新手,所以请原谅我,如果这是一个愚蠢/明显的问题 - 如果是这样,我会删除......
我有一个下拉列表,其中显示了所有来自数据库的项目的各种口味。 我让这部分工作正常,但是我想要的是当你选择一种口味时,它会显示在该口味的营养信息下方,并在你改变口味时发生变化。
这是刀片中的选择:
<select name="" id="">
@foreach($flavours as $flavour)
<option>{{ $flavour['name'] }}</option>
@endforeach
</select>
获取数据的简单控制器函数:
function show()
{
$data = Flavours::all();
return view('flavours', ['flavours' => $data]);
}
我在网上搜索了很多,以找到显示我需要的方法/视频,但是我找不到任何东西。
有2种方式。
1 - 每次更改选择标记值时,您都必须通过 ajax 获取新数据。
2 - 如果您不喜欢它,您可以使用关键字和完整列表获取所需的数据。
<select name="flavour" id="flavour">
@foreach($flavours as $flavour)
<option value="{{$flavour['id']}}" >{{ $flavour['name'] }}</option>
@endforeach
</select>
$("#flavour").change(function(){
id=$(this).val();
const flavour_list = <?php echo $flavours; ?>;
const goal = flavour_list.find(item => item.id === id);
console.log({goal})
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.