我有这个 dropdwonlist,这些数字是选票,我的提示很简单:如何通过按“-”删除数据库的投票,当我按任何其他数字时,投票将在数据库中更新有这个值吗?
下拉列表的默认值为votacion.votCalificacion
,即数据库中的投票值
这是投票的下拉列表:
<form id="post">
<select id="cd-dropdown" class="cd-select">
<option value="-1" selected>{{ voto.votCalificacion }}</option>
<option>-</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
</form>
这是 Controller 管理投票的功能:
public function gestionarVotoAction($pysStr, $votCalificacion)
{
$em = $this->getDoctrine()->getManager();
$pys = $em->getRepository('PYSBundle:Pys')->findPys($pysStr);
$usuario = $this->get('security.context')->getToken()->getUser();
$voto = $em->getRepository('UsuarioBundle:Usuario')->findVoto($usuario, $pys);
if(!$voto)
{
$voto = new Voto($usuario, $pys);
}
if ($votCalificacion == "-")
{
$em->remove($voto);
}
else
{
$voto->setVotCalificacion($votCalificacion);
$voto->setVotFecha(new \DateTime("now"));
$em->persist($voto);
}
$em->flush();
return $this->redirect($this->generateUrl('usuario_pelicula', array('pysStr' => $pysStr)));
}
最佳答案
这里你可以举个例子:
A voting system with jQuery, PHP and Smarty
并且,为了正确管理 jQuery,这里有一些您可能知道的函数:
jQuery.ajax() 用于 AJAX 请愿 http://api.jquery.com/jQuery.ajax/
jQuery.load() 用于 AJAX 请愿,这会导致页面中某处加载新内容 http://api.jquery.com/load/
编辑: 经过几次聊天后,答案如下:
$('#cd-dropdown').bind("change", function(){
ajaxVotar($('#cd-dropdown').val(), $('#id-pelicula').val());
});
function ajaxVotar(voto, pelicula)
{
$.getJSON('/app_dev.php/es/user/pelicula/'+pelicula+'/'+voto, function(j){
alert(j.result);
$('#votacion-media-peli').html(j.media);
// Customize whatever you want...
});
}
整个聊天 session 在这里:https://chat.stackoverflow.com/rooms/33245/discussion-between-dani-sancas-and-benatespina
关于javascript - 用于插入、更新和删除数据库项目的 AJAX 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17568111/