Jump to content

Como definir valor padrão em select no Laravel para período de apuração?


frankhosaka

Postagens Recomendadas

O meu conhecimento em HTML é bastante precário. Mas hoje eu aprendi que é possível definir o valor padrão do <select>, basta definir um <option selected>, e assim eu consegui montar um seletor para o período de apuração:

arquivo laravel.resources.views.balanceteApuracao.blade.php
@include('menuView')
<!-- o menuView.blade.php define o cdn do bootstrap para o CSS utilizado no laravel entre outras coisas -->
<script>
    btmenu="Apuração"
    document.title="Apuração"
    function voltar(mes)
    {
        anoApurado=seletor.value
        location.replace('balanceteApurada?ano='+anoApurado+'&mes='+mes)
    }
</script>
Selecione o período de apuração
<div class=mt-3>
<select id="seletor">
    @foreach($anos as $key => $ano)
    @if($key==0)
    <option value={{$ano}} selected>{{$ano}}
    @else
    <option value={{$ano}}>{{$ano}}</option>
    @endif
    @endforeach
</select>
</div>
<div class=mt-3>
@foreach($meses as $posicao => $mes)
<button class='btn btn-primary btn-sm' onclick="voltar(<?=$posicao+1?>)">{{$mes}}</button>
<!-- usei o marcador do php ao invés do {{ }} na hora de mandar valor para o JavaScript, ele fica mais elegante no VS Code -->
@endforeach
</div>

arquivo laravel.routes.web.php (parcial)
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Balancete;
Route::middleware(['auth','verified'])->group(function()
{
    Route::get('balanceteApura',[Balancete::class,'apura']);
    Route::get('balanceteApurada',[Balancete::class,'apurada']);
});

arquivo laravel.app.Http.Controllers.Balancete.php (listagem parcial)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\tbdiario;
class Balancete extends Controle
{
    function apura(Request $request)
    {
        $primeiroAno=substr(tbdiario::orderBy('dia')->value('dia'),0,4);
        $ultimoAno=substr(tbdiario::orderBy('dia','desc')->value('dia'),0,4);
        $anos=[];
        for($i=$ultimoAno;$i>=$primeiroAno;$i--)
        {
            $anos[]=$i;
        }
        $meses=['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'];
        return view('balanceteApuracao',['anos'=>$anos,'meses'=>$meses]);
        
    }

    function apurada(Request $request)
    {
        $ano=$request->ano;
        $mes=$request->mes;
        $apuracao=$mes."-".$ano;
        dd($apuracao);
    }
}

 

Captura de tela 2024-08-29 113321.png

Editado por frankhosaka
  • Curtir 1
Link to comment
Compartilhe em outros sites

  • Casa do Desenvolvedor mudou o título para Como definir valor padrão em select no Laravel para período de apuração?

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...