Agregar acciones para botones en la salida de la plantilla thinkphp
Déjame hablar de mi idea: agregas un atributo personalizado al botón, el nombre del atributo puede ser cualquier cosa, el valor del atributo es $v.id y luego, cuando haces clic en el botón, obtienes el valor del botón. atributo personalizado Simplemente defina el valor del atributo y páselo al backend PHP para su procesamiento. id, y luego, cuando haga clic en el botón, obtenga el valor del atributo personalizado del botón y páselo al PHP back-end para su procesamiento. Esto se implementa directamente en el código usando JQuery:
Archivo de plantilla:
{$v.id}
{$v.name} span>?
"/>"/&p>
sección js:$(función(){ $(".vote").click(función(){ var? vid?=?$(this).attr("data-vid");//obtener el valor del atributo personalizado del botón $.ajax({ url:'index.php/vote/add',//reemplazarlo con su propio tipo de dirección:"publicación", datos:{vid:vid}, tipo de datos:"json", éxito:función(res){ if(res.status?==?1) { alerta('¡Vota exitosa!') ; //acción realizada después de una operación exitosa } else{ alert('Vote Failed');//acción realizada después de una operación fallida } }) }) }) });
}
php part:class?VoteAction?extends?Action
{ function?add() { $vid?=?$_POST['vid'] // Realiza la operación de base de datos que creas apropiada y regresa; Resultado $res?=?M('Votos')->where(array('id'=>$vid))->setInc('votos',1); $status ?=?0; La votación falló'; if($res) { $status ?=?1; $msg ?=?Votación exitosa'; $data?=?array('status'=>$status,?' msg'=>$msg ); $this->ajaxReturn($datos }
}
);