根据下拉列表中的选定值获取值 - Laravel
Get Values Based On Selected Value in Drop Down - Laravel
我有两个具有多对多关系的 table。 Groups and Members table
有一个支点 table group_member
。关系做得很好,已经播种了 tables,包括枢轴 table。现在我想要做的是,当我 select 下拉列表中的一个组时,该特定组中的成员列表应该显示在不同的下拉框中。
控制器
//displays the form
public function create()
{
$groups = Group::all()->where('user_id',Auth::user()->id);
$members = Member::with('groups')->get();
$selectedGroup = $groups->pluck('id')->toArray();
return view('group.show',compact('groups','selectedGroup','members'));
}
现在我的代码可以正常显示群组,但它不会 只获取 属于该群组的成员,而是属于该用户的所有成员。我怎样才能动态地做到这一点; Select 一个群组并同时显示其成员。谢谢
要在下拉列表中动态获取 selected 组的成员,您必须使用 ajax 获取数据并填充 select 元素。
将您的 select 元素视为
<select id="group_id" name="group_id">
@foreach($groups as $group)
<option value="{{ $group->id }}">{{ $group->name }}</option>
@endforeach
</select>
你必须写 javascript/jQuery 来监听 select 值的变化
$('#group_id').change(function() {
$.get('/group/'+this.value, function(data){
// Code to populate the secondary select element
});
});
您需要一条路线,将组成员作为 json 提供给 select 元素。
我有两个具有多对多关系的 table。 Groups and Members table
有一个支点 table group_member
。关系做得很好,已经播种了 tables,包括枢轴 table。现在我想要做的是,当我 select 下拉列表中的一个组时,该特定组中的成员列表应该显示在不同的下拉框中。
控制器
//displays the form
public function create()
{
$groups = Group::all()->where('user_id',Auth::user()->id);
$members = Member::with('groups')->get();
$selectedGroup = $groups->pluck('id')->toArray();
return view('group.show',compact('groups','selectedGroup','members'));
}
现在我的代码可以正常显示群组,但它不会 只获取 属于该群组的成员,而是属于该用户的所有成员。我怎样才能动态地做到这一点; Select 一个群组并同时显示其成员。谢谢
要在下拉列表中动态获取 selected 组的成员,您必须使用 ajax 获取数据并填充 select 元素。
将您的 select 元素视为
<select id="group_id" name="group_id">
@foreach($groups as $group)
<option value="{{ $group->id }}">{{ $group->name }}</option>
@endforeach
</select>
你必须写 javascript/jQuery 来监听 select 值的变化
$('#group_id').change(function() {
$.get('/group/'+this.value, function(data){
// Code to populate the secondary select element
});
});
您需要一条路线,将组成员作为 json 提供给 select 元素。