Codeigniter -通过jquery复选框添加多个项目到购物车


codeigniter - add multiple item into cart by checked checkbox jquery

我正在尝试添加多个项目到购物车中基于选中的复选框,我们开门见山吧。

视图
<table width="100%" id="product-row">
                        <tr>
                            <td>ID  </td>
                            <td>DESCRIPTION</td>
                            <td style="width:200px">ACTION</td>
                        </tr>
                        <tr>
                            <?php
                                    $attr=array('id'=>'add-item');
                                    echo form_open('cart/add_piece',$attr);
                            ?>
                            <?php foreach($product->result_array() as $p) : ?>
                            <td>
                                <p>
                                    <?php echo $p['ITEMNO'];?>
                                </p>
                            </td>
                            <td>
                                <p>
                                    <?php echo $p['DESCRIPTION']?>
                                </p>
                            </td>
                            <td>
                                    <?php echo form_input(array('name' => 'quantity[]', 'value' => '1', 'maxlength' => '5', 'size' => '5','class' => 'quantity textbox', 'placeholder'=>'0')); ?>
                                    <input type ="hidden" name="description[]" value="<?php echo $p['DESCRIPTION']?>"></input>
                                    <input type="checkbox" value="<?php echo $p['ITEMNO'];?>" name="itemno[]">Ambil</input>
                            </td>
                        </tr>
                        <?php endforeach;?>
                    </table>
                    <input class="btn_pro_bypcs" type="image"   src="<?php echo base_url();?>assets/images/green-add.png" id="submit" alt="Add To Cart" width="70" height="30"/>
<?php echo form_close();?>

控制器:

function add_piece()
    {
        if($this->session->userdata('logged_in'))
        {
            if($this->item_model->validate_add_item_piece()== TRUE)
            {
                if($this->input->post('ajax') != 1)
                {
                    redirect('cart');
                }
                else
                {
                    echo "Item Added";
                }
            }
        }
        else
        {
            echo "<div style='background-color:red;'>Failed to add item!</div>";
        }
    }

模型:

$itemno=$this->input->post('itemno');
        $quantity = $this->input->post('quantity');
        $desc=$this->input->post('description');
        foreach($itemno as $i)
        {
            for($i=0;$i< count($itemno);$i++)
            {
            $data= array(
                'id'    => $itemno[$i],
                'name'  => $desc[$i],
                'qty'   => $quantity[$i],
                'price' => 1
            );
            $this->cart->insert($data);
            }
            return TRUE;
        }

PHP工作正常,但是问题是,如何使用jquery将项目添加到购物车中?

工作演示

这就行了。在循环外实现逻辑

  $("#submit").click(function() {
      var cart = [];
      $("input[type='checkbox']").each(function() {
        if($(this).is(":checked")) {
          console.log("Insert inside an array & push : "+$(this).val());
          cart.push($(this).val());
        }
      });
      // your logic to process the cart array
    });

现在只需要遍历购物车数组,构造商品html DOM并将其添加到购物车中。