Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查小枝中是否单击了按钮?_Javascript_Php_Jquery_Symfony_Twig - Fatal编程技术网

Javascript 如何检查小枝中是否单击了按钮?

Javascript 如何检查小枝中是否单击了按钮?,javascript,php,jquery,symfony,twig,Javascript,Php,Jquery,Symfony,Twig,我希望在表中的细枝文件中有一个按钮,用于从数组中删除元素,最好是索引 在我所做的研究中,我一直认为任何数据操作都应该保留在控制器中。我确信我可以用jquery完成我的解决方案,但这不违反数据操作规则吗?还是应该在控制器中执行某些操作?我试着用POST查看按钮是否已设置,但没有效果 本质上,单击此按钮后,相应元素的索引将从数组中删除。我怎样才能以最好的方式实现这一点 另外,我只看过一些关于jquery的教程,所以我是一个完全的初学者。如果可以的话,我如何使用jquery实现这一点 我对jquery

我希望在表中的细枝文件中有一个按钮,用于从数组中删除元素,最好是索引

在我所做的研究中,我一直认为任何数据操作都应该保留在控制器中。我确信我可以用jquery完成我的解决方案,但这不违反数据操作规则吗?还是应该在控制器中执行某些操作?我试着用POST查看按钮是否已设置,但没有效果

本质上,单击此按钮后,相应元素的索引将从数组中删除。我怎样才能以最好的方式实现这一点

另外,我只看过一些关于jquery的教程,所以我是一个完全的初学者。如果可以的话,我如何使用jquery实现这一点

我对jquery的尝试:

cartArray.splice($.inArray(removeItem, cartArray), [0]); 
。。。其中0是索引…我知道这不起作用,因为我需要索引来知道选择了哪个元素

在细枝文件中:

            <tbody>
                {% for key, cartValue in cartArray %}
                    <tr>
                        <td>{{ cartValue[0] }}</td> <!--Product-->
                        <td>{{ cartValue[1] }}</td> <!--Quantity-->
                        <td>${{ cartValue[2] }}</td> <!--Price Per Unit-->
                        <td>
                            <button type="button" class="btn btn-danger">
                            <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                            </button>
                        </td>
                    </tr>
                {% endfor %}    
            </tbody>
非常感谢您的帮助,再次感谢

希望这有助于:

//简单变量,一个用于从数组构建句子
//其中一个就是我们的元素数组
var语句=“”,
araEle=$('li');
//首先,我构建了一个句子,以便在删除之前显示出来
araEle.each(函数(i){语句+=(i>0?“”:“”)+$(this.text();});
//这里我使用一个简单的jQuery/css选择器来获取第一个字段集的p标记
$('fieldset:first p')。文本(句子);
//这里将假装我们的按钮被点击,我们的索引是4
var指数=4;
//这是简单的老式香草JS,
//没有比jQuery更好的选择了,
//这就是为什么他们没有做一个。
//第一个参数是从零开始的索引值
//第二个参数是从那里数到多少
//如果只想删除索引中的一项,则第二个值为1
var returnsValue=辅助拼接(索引1);
//正如分配的变量所说
//如果你从它那里得到回报,它就是,
//在本例中,是一个元素,
//在这个指数上
//因此,如果您想在之后删除元素本身,您可以说:
$(returnsValue).remove();
//重新设置我们的句子串
句子='';
//重判
araEle.each(函数(i){语句+=(i>0?“”:“”)+$(this.text();});
//再次使用简单的jQuery/css选择器获取最后一个字段集的p标记
//并显示新句子
$('fieldset:last p')。文本(句子)

  • 刚刚
  • a
  • [测试]
  • 列表
数组删除前的语句

索引4处阵列拼接后的句子(测试)


方法是什么?是显示视图的方法吗?还是处理表单或其他数据的POST方法?如果是通过单击链接从视图中调用的方法,请传递一些路由| get | post parameters/***创建“将产品添加到购物车”选项@路径(“/{id}/cart”,name=“product_cart”)*@Method(“GET”)*@Template()*/我认为这是描述它的最好方式。
fruits.shift();//从数组中删除第一个元素并仅返回该元素。
-
fruits.pop();//从数组中删除最后一个元素,并仅返回该元素。
@SpYk3HH这不是我想要实现的
$cartArray = array();

    if (is_null($cartArray) || !$entity) {
        throw $this->createNotFoundException('Error: Nothin in Array/Entity');
    } else {
        $cartArray = $session->get('cartArray', []);

        $cartArray[$entity->getId()] = [$entity->getName(), $entity->getQuantity(), $entity->getPrice()];

        foreach ($cartArray as $key => $product) {
                // dump($cartArray); die;
                // dump($key); die;
                $productEntity = $em->getRepository('PaTShopTestBundle:Product')->find($key);
                $quantity = $productEntity->getQuantity();
                $price = $productEntity->getPrice();
                $totalCostOfAllProducts += $price * $quantity;
        }
    }

    //$remove = unset($cartArray);

    // if (isset($_POST['Button'])) {
    //     unset($cartArray[1]); //remove index
    // }



    $session->set('cartArray', $cartArray); //session---------------

    //var_dump($cartArray); die;

    return array(
        'price'     => $price,
        'quantity'  => $quantity,
        'totalCostOfAllProducts'   => $totalCostOfAllProducts,
        'cartArray'   => $cartArray,
        'entity'      => $entity,
        'delete_form' => $deleteForm->createView(),
    );