根据下拉列表中的选定值获取值 - 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 元素。