如何确保在一个下拉列表中选择的值将更改Laravel中另一个下拉列表的值

时间:2018-08-16 16:41:50

标签: php laravel laravel-5 laravelcollective

我正在开发Laravel项目,我想实现的目标是,当用户在下拉列表中选择某个值时,它将影响视图中的其他下拉列表,也就是说,如果用户在第一个下拉列表中选择了Income,则Expense下拉列表应该被禁用或类似的东西 控制器

>  public function create()
>     {
>         $income = Income::pluck('title', 'id');
>         $expense=Expenses::pluck('title', 'id');
>         return view ('IncomeExpense.create', compact('income','expense'));
>     }

查看

  

<div class="form-group">
>      {{Form::label('IncomeExpense', 'Income&Expense')}}
>      {{Form::select('IncomeExpense', array('E' => 'Expense', 'I' => 'Income'),null,['class'=>'form-control'])}}
>     </div>
>     <div class="form-group">
>             {{Form::label('', 'Income')}}           
>             {{Form::select('IncomeId', $income,null,['class'=>'form-control'])}}
>            </div>
>            <div class="form-group">
>                 {{Form::label('', 'Expense')}}           
>                 {{Form::select('ExpenseId', $expense,null,['class'=>'form-control'])}}
>                </div>

2 个答案:

答案 0 :(得分:2)

在放置类的数组中,您还可以分配这样的ID

{{Form::select('IncomeId', $income, null,['class'=>'form-control', 'id' => 'MyAwesomeId'])}}

然后,您可以像使用普通html一样使用javascript / jquery。

答案 1 :(得分:2)

我为您找到了解决方案。但是您可以使用self.isUserInteractionEnabled = true 的{​​{1}}安装。因为select('title', 'id')->get()通常用于获取单个列值。

现在,对于您的解决方案,您可以使用一点pluck('title', 'id')。为此,您必须分别为pluck标签添加一个JavaScript。喜欢

收入下拉列表

id

和费用下拉列表

select

现在,<select class="form-control select2" id="income" onChange="validate()"> <option value="selectincome">--- selectincome ---</option> @foreach($incomes as $income) <option value="{{$income['id']}}">{{$income['title']}}</option> @endforeach </select> 方法

JavaScript

<select class="form-control select2" id="expense" onChange="validate()">
  <option value="selectexpence">--- selectexpence ---</option>
  @foreach($expenses as $expense)
  <option value="{{$expense['id']}}">{{$expense['title']}}</option>
  @endforeach
</select>

希望这会有所帮助。