AJAX和Codeigniter - 确定按下哪个按钮进行更新

时间:2017-01-24 13:20:52

标签: javascript php jquery 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');
  }
});

}

控制器

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

1 个答案:

答案 0 :(得分:0)

在controller.using url中加载$this->load->url('url');帮助器。然后

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

不要忘记设置

$_config['base_url'] ="your_domain_name";