Laravel Livewire:传递 Select 输入的选项值 onChange
Laravel Livewire: Passing option value onChange of Select input
我正在尝试将我的 <select>
输入的 <option>
的值传递到我的 livewire 控制器组件并回显该值。
Livewire Blade 查看组件:
{!! Form::select('goals',$goals_plucked,null,[
'placeholder' => trans('classes.backend.forms.select_goals'),
'class' => 'custom-select',
'id' => 'goals',
'wire:change' => "goals(this.val)",
]) !!}
我的 Livewire 控制器组件中的输出为 null
Livewire 控制器组件
public $goals;
public function goals($goals)
{
dd($goals);
}
看了一些教程之后。我还尝试使用 'wire:change' => "goals($event.target.value)",
,这给了我一个未定义变量 $event 的错误,显然是因为它没有在主控制器中定义。我不确定我在这里做错了什么。
我正在尝试做的事情: 尝试创建流程,就像 select 国家然后 select 州然后 select 城市.通过活线。在select进入一个国家之前,select州和城市的输入将不可见
只需在前端将 wire:model="variable_name" 给 select。
并且在 livewire 控制器中应该有一个同名的 public 变量。它会在 select 值更改时自动获取值。
下面是同样的例子
<select class="custom-select border-0 shadow-none" id="enquiry_for" wire:model="enquiry_for">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
我尝试了下面的代码,它对我来说效果很好。只需确保我使用正常的 html 表单输入并通过 foreach 循环动态添加选项。还使用 mount()
函数获取 select 下拉菜单的值和 ID。
Livewire Blade 查看组件:
<select wire:model="goal" name="goal" class="form-control" required>
<option value="">
{!! trans('classes.backend.forms.select_goals') !!}
</option>
@foreach ($goals as $goal)
<option value="{{ $goal->id }}">{{ $goal->goals }}</option>
@endforeach
</select>
Livewire 控制器组件
public $goals;
public $goal;
public function mount()
{
$this->goals = Goals::all()->isActive();
}
public function updatedGoal($value)
{
dd($value);
}
我正在尝试将我的 <select>
输入的 <option>
的值传递到我的 livewire 控制器组件并回显该值。
Livewire Blade 查看组件:
{!! Form::select('goals',$goals_plucked,null,[
'placeholder' => trans('classes.backend.forms.select_goals'),
'class' => 'custom-select',
'id' => 'goals',
'wire:change' => "goals(this.val)",
]) !!}
我的 Livewire 控制器组件中的输出为 null
Livewire 控制器组件
public $goals;
public function goals($goals)
{
dd($goals);
}
看了一些教程之后。我还尝试使用 'wire:change' => "goals($event.target.value)",
,这给了我一个未定义变量 $event 的错误,显然是因为它没有在主控制器中定义。我不确定我在这里做错了什么。
我正在尝试做的事情: 尝试创建流程,就像 select 国家然后 select 州然后 select 城市.通过活线。在select进入一个国家之前,select州和城市的输入将不可见
只需在前端将 wire:model="variable_name" 给 select。
并且在 livewire 控制器中应该有一个同名的 public 变量。它会在 select 值更改时自动获取值。
下面是同样的例子
<select class="custom-select border-0 shadow-none" id="enquiry_for" wire:model="enquiry_for">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
我尝试了下面的代码,它对我来说效果很好。只需确保我使用正常的 html 表单输入并通过 foreach 循环动态添加选项。还使用 mount()
函数获取 select 下拉菜单的值和 ID。
Livewire Blade 查看组件:
<select wire:model="goal" name="goal" class="form-control" required>
<option value="">
{!! trans('classes.backend.forms.select_goals') !!}
</option>
@foreach ($goals as $goal)
<option value="{{ $goal->id }}">{{ $goal->goals }}</option>
@endforeach
</select>
Livewire 控制器组件
public $goals;
public $goal;
public function mount()
{
$this->goals = Goals::all()->isActive();
}
public function updatedGoal($value)
{
dd($value);
}