0

我在qty使用 ajax 更新数据库中的字段时遇到问题。我不知道错误发生在哪里,因为当我尝试单击减号按钮时,它会多次减去它。我google了同样的问题,但没有找到任何解决方案。这是我的代码。

这是我的控制器:

 public function deduct(){
    $this->inpatient_model->deduct();
    $data['inpatient'] = $this->inpatient_model->getinpatientlab();
    $this->load->view('admin/queryinpatient',$data);
 }

这是我的模型:

 public function deduct(){  
    $this->db->select('*');
    $this->db->from('inpatientlab');
    $this->db->where('ilid',$this->input->post('lid'));
    $query = $this->db->get();
    $row = $query->result_array();
    if($query->num_rows() > 0 ){
        if($row[0]['qty'] > 1){
            $uno = 1;
            $this->db->set('qty','qty-'.$uno,FALSE)
                    ->where('ilid',$this->input->post('lid'))
                    ->update('inpatientlab');               
        }
    }   

}

这是我的观点:

<?php if($inpatient): ?>
<table class="table table-striped">
    <tr>
        <th>Description</th>            
        <th>Quantity</th>
        <th>Price</th>
        <th>Sub Total</th>
        <th>Action</th>
    </tr>
<?php foreach($inpatient as $rows): ?>
    <tr>
        <td><?php echo $rows->ldesc; ?></td>
        <td><?php echo $rows->qty; ?></td>
        <td><?php echo $rows->lprice; ?></td>
        <td><?php echo number_format($rows->qty * $rows->lprice,2); ?></td>
        <td>
            <button value="<?php echo $rows->ilid; ?>" class="btn btn-danger btnRemove"><i class="icon-trash"></i></button>
            <button value="<?php echo $rows->ilid; ?>" class="btn btn-danger btnMinus"><i class="icon-minus"></i></button>
        </td>
    </tr>
<?php endforeach; ?>
</table>
<script type="text/javascript" >
    (function(){        
    $(document).on('click','.btnMinus',function(){
        var lid = $(this).val(),
            pid = $('.pid').val(),
            dataString = "id=" + pid + "&lid=" + lid;           
            console.log(dataString);
            $.ajax({
                type:"POST",
                url: base_url + "inpatient/deduct",
                data:dataString,
                success:function(data){
                    $('.pickedlab').html(data);
                }
            })
        return false;

    });

})()

View的 in here 也是通过 bootstrap-modal 中的 ajax 加载的。我真的不知道为什么它一直减去多次。有什么帮助吗?

4

1 回答 1

0

您是否尝试过使用浏览器调试并确定您的 AJAX 是否多次调用。我不熟悉您的 Controller-Model 设置,通常我的模型只是纯 POCO 类。所有计算都在控制器级别完成。

于 2013-11-10T09:40:44.493 回答