1

私はこの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>

これは、投票を管理するコントローラーの関数です。

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)));
}
4

2 に答える 2

1

ここで例を挙げることができます:

jQuery、PHP、Smarty による投票システム

そして、jQuery を適切に管理するために、知っている関数がいくつかあります。

AJAX 請願の jQuery.ajax() http://api.jquery.com/jQuery.ajax/

ページのどこかに新しいロードされたコンテンツをもたらす AJAX 請願のための jQuery.load() 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...
  }); 
}

チャット セッション全体はこちら: https://chat.stackoverflow.com/rooms/33245/discussion-between-dani-sancas-and-benatespina

于 2013-07-10T11:07:10.400 に答える