Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

425
Vistas
Laravel 7: actualizar el valor de la casilla de verificación sin formulario o botón

Estoy atascado con mi proyecto, por favor ayuda...

Esta es la situación: En mi proyecto tengo que asignar un profesor para dar permiso para calificar a los estudiantes, porque un grupo puede tener 2 o más profesores, pero solo uno tiene que tener permiso para calificar, entonces... Agregué una columna en mi tabla 'maestros' en la base de datos con el nombre 'grado' de tipo booleano. Y en mi opinión agregué un checkbox... ¿Cómo cambio el valor de un checkbox sin usar ningún formulario o botón para activar la acción y activar el checkbox en el profesor que va a tener permiso para calificar? Y este valor también debe actualizarse en la base de datos.

  • Esta es mi vista...
 <!--teachers--> <table class=" table table-sm table-striped table-bordered "> <thead class="text-white bg-primary"> <tr> <th>@lang('show.Identifier')</th> <th>@lang('show.email')</th> <th>@lang('show.grade')</th> <th>@lang('show.delete')</th> </tr> </thead> <tbody class="small text-center"> @foreach ($group->teachers as $teacher) <tr> <td >{{$teacher->Identifier}} </td> <td >{{$teacher->email}} </td> <td> <input id="active" {{$teacher->grade == 1 ?'checked':''}} type="checkbox" name="grade" value="1"> </td> <td> <form method="post" action="{{url('Groups/Disenroll/'.$group->idGroup.'?idTeacher='.$teacher->idTeacher)}}"> {{csrf_field()}} <button type="submit" class="btn btn-sm btn-outline-danger" > <i class="material-icons small" >call_split</i></button> </form> </td> </tr> @endforeach </tbody> </table>

Y esta es una imagen de la mesa, si te sirve...

maestros

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que puedes usar algo como JQuery para esto.

En primer lugar, puede agregar una clase de clase de alternancia a su casilla de verificación

 <input class="active toggle-class" {{$teacher->grade == 1 ?'checked':''}} type="checkbox" name="grade">

Y en segundo lugar, asegúrese de tener una forma de realizar un seguimiento de quién está haciendo las calificaciones.

Agregue data-id="{{ $teacher->Identifier}}" en su casilla de verificación

 <input data-id="{{ $teacher->Identifier}}" class="active toggle-class" {{$teacher->grade == 1 ?'checked':''}} type="checkbox" name="grade">

En tu web.php agrega una nueva ruta

 Route::get('/path/to/updateGrader/status', [App\Http\Controllers\MyController::class, 'updateGraderStatus']);

Agregue el siguiente código donde se encuentra su casilla de verificación

 $('.toggle-class').on('change',function(){ let status = $(this).prop('checked') == true ? true : false; let grader_id = $(this).data('id'); $.ajax({ type:'GET', dataType:'json', url:'/path/to/updateGrader/status', // add your earlier created route here data:{'grade': status, 'grader_id': grader_id}, success: function(data){ console.log('success'); } }); });

En su controlador, MyController en nuestro caso crea una nueva función

 public function updateGraderStatus(Request $request) { $grader = MyModel::find($request->grader_id); $grader->grade = $request->grade; $grader->save(); }

Por favor, hágamelo saber si esto le ayuda. No lo probé, pero creo que así es como lo harías.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda