【问题标题】:How to get state of checkbox group when page is load加载页面时如何获取复选框组的状态
【发布时间】:2021-09-17 23:11:35
【问题描述】:

我正在为 fullcalendar 上的加载日历创建一组复选框,但是在加载页面时我无法加载复选框的先前状态。

  • 我的控制器

    public function render()
    {        
     $this->agendas = AgendaAgendas::select('agenda', 'id', 'ver')->where('entidade', '=', $this->entidade)->get();
    
     return view('livewire.agenda')->layout('layouts.clear');
    }
    
  • 我的 laravel 刀片

    @foreach ($agendas as $key => $agenda)
     <div class="mt-1 d-flex justify-content-between p-1" onmouseover="this.style.backgroundColor='#f0f0f0';"
      onmouseout="this.style.backgroundColor='transparent';">
      <div class="form-check form-switch">
          <label class="inline-flex items-center" for="vagenda.{{ $agenda->id }}">
              <input name="{{ $agenda->id }}[]" type="checkbox" value="{{ $agenda->id }}" 
                  wire:model="selectAgenda.{{ $agenda->id }}"
                  {{ $agenda->show == 'S' ? 'checked' : '' }}
                  id="vagenda.{{ $agenda->id }}" class="form-check-input text-green-500 h-6 w-6">
              <span class="ml-3 text-sm">{{ $agenda->agenda }}</span>
          </label>
        </div>
       <div><small><span class="badge bg-danger" role="button" wire:click="deleteAgenda({{ $agenda->id }})"><iclass="fa fa-times"></i></span></small></div></div>
    @endforeach
    

正如我们在上面看到的,我正在尝试使用该项目来保持该项目处于选中状态

  {{ $agenda->show == 'S' ? 'checked' : '' }}

但是该复选框没有被选中。如何解决?

【问题讨论】:

    标签: laravel laravel-8 laravel-livewire


    【解决方案1】:

    我处理这样的复选框:

    <input type="checkbox" wire:change="selectAgenda({{ $agenda->id }})"
      {{ $agenda->show == 'S' ? 'checked' : '' }} id="vagenda.{{ $agenda->id }}" class="form-check-input text-green-500 h-6 w-6">
    

    并在组件中通过 selectAgenda 方法处理复选框的变化

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 2015-10-18
      • 2015-10-07
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多