我有问题使用检查按钮直接更新状态(保留/处理)(没有编辑表单中的保存/提交按钮)。我想这样做是因为我想根据选中的列表更改多个列表的状态。我的问题,如何使用我的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().'');
}
}
如果有任何想法要解决我的代码或者有其他解决方案(可能有切换开关)它没问题,我需要你的反馈,谢谢......
答案 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().'');
}
}