2017-01-24 10 views
0

私はこのショッピングカートを持っており、特定のアイテムの数量を加算または減算することができます。問題は、ユーザーがプラスボタンまたはマイナスボタンを押したかどうかを判断する方法がわからないことです。AJAXとCodeigniter - 更新するために押されたボタンの決定

HTMLプラスのコード/マイナス

<td> 
    <div class="input-group" style="width: 100px !important;"> 
     <span class="input-group-btn"> 
     <button class="btn btn-danger btn-minus" type="button">-</button> 
     </span> 
     <input class="form-control table-shopping-qty" type="text" id = "<?php echo $cartrow['id']?>" value="<?php echo $cartrow['qty']?>" style="padding-left:5px;text-align: center;"/> 
     <span class="input-group-btn"> 
     <button class="btn btn-success btn-plus" type="button">+</button> 
     </span> 
    </div><!-- /input-group --> 
</td> 

AJAX機能

function updateShoppingCart(){ 
var productid = $(".table-shopping-qty").attr("id"); 
dataString = {productid: productid}; 

$.ajax({ 
    type: "POST", 
    url: "<?php echo base_url(); ?>"+"listproductscontroller/editcart_item", 
    data: dataString, 
    cache: false, 
    success: function(){ 
    swal('Success!', 'Cart updated!', 'success'); 
    }, error: function(){ 
    swal('Oops!', 'Something went wrong. Please try again later', 'error'); 
    } 
}); 

}

コントローラ

$this->load->url('url'); .Then

function updateShoppingCart(){ 
var productid = $(".table-shopping-qty").attr("id"); 
dataString = {productid: productid}; 

$.ajax({ 
    type: "POST", 
    url: "<?php echo base_url('listproductscontroller/editcart_item');?>", 
    data: dataString, 
    cache: false, 
    success: function(data){ 
    alert("success"); 
    }, error: function(){ 
    alert("failed"); 
    } 
}); 

をcontroller.usingで

public function editcart_item(){ 
    $id = $this->input->post('productid'); 

    if($this->session->userdata('cartsession')){ 
    $cartsession = $this->session->userdata('cartsession'); 
    foreach($cartsession as $row){ 
     if($row['id'] == $id){ 
     $updated = array('id'=>$row['id'], 'qty'=>$row['qty'] - 1); 
     }else{ 
     $updated = array('id'=>$row['id'], 'qty'=>$row['qty']); 
     } 
    } 
    $this->session->set_userdata('cartsession', $updated); 
    } 

    if($this->session->userdata('cartsession')!=NULL){ 
    if($this->cartdata = $this->ProductModel->getProductToCart($this->session->userdata('cartsession'))){ 
     $this->session->set_userdata('globalcart', $this->cartdata); 
    } 
    } 
} 
+0

を設定することを忘れないでください。その値はセッションに依存し、加算/減算された量自体ではないので –

答えて

0

負荷urlヘルパーはこれまでのところ、私はそのIDを取得しようとしたが、その後、私は問題を持っている

$_config['base_url'] ="your_domain_name"; 
関連する問題