根据选中的按钮更新字段状态

时间:2017-11-24 09:41:22

标签: jquery codeigniter

我有问题使用检查按钮直接更新状态(保留/处理)(没有编辑表单中的保存/提交按钮)。我想这样做是因为我想根据选中的列表更改多个列表的状态。我的问题,如何使用我的javasrcypt在下面实现我想要的? 我是这样的代码,我是从原始来源编辑的(多次删除),我使用相同的代码,但是对于更改状态,现在我的问题是我无法改变状态(保留/处理)

Javascrypt:

<script>
$(function(){
    $("a.hold").click(function(){
    if(confirm("Are you sure want to change status to HOLD?"))
    {
        id_array=new Array()
        i=0;
        $("input.chk:checked").each(function(){
            id_array[i]=$(this).val();
            i++;
        })

        $.ajax({
            url:'<?php echo base_url(); ?>app_plan/hold_multiple',
            data:"kode="+id_array,
            type:"POST",
            success:function(respon)
            {
                if(respon==1)
                {
                    window.parent.location.reload(true);
                }
            }
        })
    }
        return false;
    })
})
</script>

我的班级按钮:

<a href="#" class="btn btn-primary hold"><div class="btn-hold">Hold</div></a>

控制器:

public function hold_multiple()
{
    if($this->session->userdata('logged_in')!="")
    {
        $id = $this->input->post('kode');
        $upd['stts_prg'] = 'hold';
        $query = $this->db->query("update from report_oa_plan where id_plan IN (".$id.")", $upd);
        if($query){
            echo 1;
        }
        else{
            echo 0;
        }
    }
    else
    {
        header('location:'.base_url().'');
    }
}

如果有任何想法要解决我的代码或者有其他解决方案(可能有切换开关)它没问题,我需要你的反馈,谢谢......

2 个答案:

答案 0 :(得分:0)

尝试这种最短的方式

public function hold_multiple()
{
    if($this->session->userdata('logged_in')!="")
    {
        $id = $this->input->post('kode');
        $upd['stts_prg'] = 'hold';
        $this->db->where_in('id_plan',$id);
        $this->db->update('report_oa_plan',$upd);
        if ($this->db->affected_rows() > 0)
        {
            echo 1;
        }
        else{
            echo 0;
        }
    }
    else
    {
        header('location:'.base_url().'');
    }
}

答案 1 :(得分:0)

它已经用这段代码解决了:

    public function hold_multiple()
{
    if($this->session->userdata('logged_in')!="")
    {
        $id = $this->input->post('kode');
        $query = $this->db->query("UPDATE report_oa_plan SET stts_prg = 'Hold' WHERE id_plan IN (".$id.")");
        if($query){
            echo 1;
        }
        else{
            echo 0;
        }
    }
    else
    {
        header('location:'.base_url().'');
    }
}