Symfony2和jquery复选框

时间:2014-08-08 13:49:09

标签: javascript php jquery symfony checkbox

我想在symfony2中使用复选框。我想使用复选框值动态更新表(0/1)中的字段值。

这是我的错误代码:

index.html.twig:

<div class="slider demo" id="slider-1">
            {% if plate.share == true %}
                <input type="checkbox" value="1" checked>
            {% else %}
                <input type="checkbox" value="1">
            {% endif %}
</div>



<script type="text/javascript">
        $("input[type='checkbox']").on('click', function(){
            var checked = $(this).attr('checked');
            if (checked) {
              var value = $(this).val();
              $.post("{{ path('plate_share', { 'id': plate.id }) }}", { value:value }, function(data){
                if (data == 1) {
                  alert('the sharing state was changed!');
                };
              });
            };
        });            
    </script>  

的routing.yml

plate_share:
    pattern: /{id}/share
    defaults: { _controller: "WTLPlateBundle:Plate:share" }

PlateController.php:

public function shareAction($id)
    {
        if($_POST && isset($_POST['value'])) {
            $link = mysql_connect('127.0.0.1', 'admin', 'wtlunchdbpass');
            if (!$link) {
                print(0);
            }
            mysql_select_db('wtlunch');

            $value = mysql_real_escape_string($POST['value']);

            $sql = "INSERT INTO table (value) VALUES ('$value')";

            if (mysql_query($sql, $link)) {
                print(1);
            }
            else {
                print(0);
            }
        }
    }

但是这个解决方案是错误的,不起作用。 是否可以创建表单并仅使用复选框提交?

有想法吗?感谢。

例如控制器中的编辑表单操作:

public function editAction($id)
    {
        $user = $this->container->get('security.context')->getToken()->getUser();
        if (!is_object($user) || !$user instanceof UserInterface) {
            throw new AccessDeniedException('This user does not have access to this section.');
        }
        $em = $this->getDoctrine()->getManager();

        $entity = $em->getRepository('WTLPlateBundle:Plate')->find($id);

        if (!$entity) {
            throw $this->createNotFoundException('Unable to find Plate entity.');
        }

        $editForm = $this->createEditForm($entity);
        $deleteForm = $this->createDeleteForm($id);

        return $this->render('WTLPlateBundle:Plate:edit.html.twig', array(
            'entity'      => $entity,
            'edit_form'   => $editForm->createView(),
            'delete_form' => $deleteForm->createView(),
        ));
    }

0 个答案:

没有答案