【问题标题】:Get Values Based On Selected Value in Drop Down - Laravel根据下拉列表中的选定值获取值 - Laravel
【发布时间】:2017-10-21 05:53:42
【问题描述】:

我有两个具有多对多关系的表。 Groups and Members table 带有数据透视表 group_member。这些关系做得很好,并且已经为包括数据透视表在内的表格提供了种子。现在我想做的是,当我在下拉列表中选择一个组时,该特定组中的成员列表应该显示在不同的下拉框中。

控制器

//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'));
    }

现在我的代码可以正常显示群组,但它不会获取属于该群组的成员,而是获取属于该用户的所有成员。我怎样才能动态地做到这一点;选择一个组并同时显示其成员。谢谢

【问题讨论】:

  • “但属于用户的所有成员”是什么意思?一个成员可以属于一个用户吗?目前还不清楚您要实现的目标。
  • 请显示模型关系和group.show视图的相关部分。

标签: php laravel


【解决方案1】:

要动态获取下拉列表中选定组的成员,您必须使用 ajax 获取数据并填充选择元素。

将您的选择元素视为

<select id="group_id" name="group_id">
    @foreach($groups as $group)
    <option value="{{ $group->id }}">{{ $group->name }}</option>
    @endforeach
</select>

你必须编写 javascript/jQuery 来监听选择值的变化

$('#group_id').change(function() {
    $.get('/group/'+this.value, function(data){
        // Code to populate the secondary select element
    });
});

您需要一个将组成员作为 json 提供给 select 元素的路由。

【讨论】:

  • 你知道这方面的任何教程吗,因为我是这方面的初学者。这正是我要找的
  • 这是 Laravel 和 jQuery 的组合,你可以从 W3schools 的 jQuery 开始,对于 Laravel,你最好的选择是 Laracasts
猜你喜欢
  • 2015-05-22
  • 2022-01-09
  • 2019-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-07
相关资源
最近更新 更多