0

Hi all,suppose i got two rows like this picture

http://i575.photobucket.com/albums/ss197/yonghan79/ask-1.jpg

I'm trying to change the modified column value to current datetime without refreshing the page when i click the update button..The first row worked,the second doesn't work..Here is my codes

views/order_home

<script type="text/javascript" src="<?php echo base_url(); ?>js/jquery.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>js/jquery.form.js"></script>

<script type="text/javascript"> 
// wait for the DOM to be loaded 
$(document).ready(function() 
{ 
$("#msg").hide();
	$('#myform').ajaxForm(function()
	{
		var no_id=$('#no_id').val();
		
		$.post("getOrder/", { 'id' : no_id },
		function(data){
	$('#modif').html(data.modified);
	}, "json");
		
		//nampilin di div message string yg ada di dalam html()
		$("#msg").html("Berhasil update order").fadeIn(1500);
		$("#msg").fadeOut(1500);
		});
	}); 
</script> <h1><?php echo $title;?></h1>
<?php
if ($this->session->flashdata('message')){
	echo "<div class='message' name='msg' id='msg'>".$this->session->flashdata('message')."</div>";
}
echo "<div name='msg' class ='msg' id='msg'></div>";

echo "<table border='1' cellspacing='0' cellpadding='3' width='100%' id='order_home' name='order_home'>\n";
echo "<tr valign='top'>\n";
echo "<th>No Order</th>\n<th>No Cust</th><th>Tgl Pesan</th><th>Modified</th><th>Status</th><th>Update</th><th>id</th><th>Actions</th>\n";
echo "</tr>\n";
if (count($order)){
	foreach ($order as $key => $list){
		echo "<tr valign='top'>\n";
		echo "<td>".anchor("admin/order/detail/".$list['no_order'],$list['no_order'])."</td>\n";
		echo "<td>".$list['custid']."</td>\n";
		$datetime = strtotime($list['tgl_pesan']);
		$orderdate = date("d-m-y H:i ", $datetime);
		echo "<td>".$orderdate."</td>\n";
		$modifieddate = strtotime($list['modified']);
		$modified = date("d-m-y H:i ", $modifieddate);
		echo "<td id='modif' name='modif'>".$modified."</td>\n";
		$attributes = array('id' => 'myform');
		echo form_open('admin/order/edit',$attributes);
		echo "<td align='center'>".form_dropdown('status',$status,$list['status'])."</td>\n";
		$btn = array('id'=>'update','name'=>'update','value'=>'Update'); 
		$data = array('name'=>'notif','id'=>'notif');
		echo "<td align='center'>".form_checkbox($data)."<label for='update'>Notifikasi cust</label>".form_submit($btn)."</td>\n";
       	echo '<input type="hidden" id="no_id" name="no_id" value="'.$list['id'].'" />';
		echo form_close();
		echo "<td align='center'>";
		echo anchor("admin/order/edit/".$list['no_order'],img(base_url().'/images/edit.jpg'));
		echo " | ";
		echo anchor("admin/order/delete/".$list['no_order'],img(base_url().'/images/delete.jpg'));
		echo "</td>\n";
		echo "</tr>\n";
	}
}
echo "</table>";
?>

controller/order

function edit($no=0)
	{
		if ($this->input->post('no_id'))
		{
			if (isset($_REQUEST['notif']))
			{
            $this->input->post('status_order');
			$result=$this->MOrder->updateOrder();
            $this->email->from('admin@7com.cphoster.com','Admin');
            $this->email->to('yonghan79@gmail.com');
            $this->email->subject('Testing email class');
            $this->email->message('Status order '.$status);
			$this->email->send();
			//return $result;
		    $this->session->set_flashdata('message','Berhasil update order');
			redirect('admin/order/index','refresh');
			}
			else
            {
			$this->MOrder->updateOrder();
			$this->session->set_flashdata('message','Berhasil update order');
			redirect('admin/order/index','refresh');
            }
		}
		else
		{
			//$id = $this->uri->segment(4);
			$data['title'] = "Edit Order";
			$data['main'] = 'admin/order_edit';
			$data['order'] = $this->MOrder->getOrder($no);
			$data['status']=$this->MOrder->getStatus();
	        if (!count($data['order'])){
				redirect('admin/order/index','refresh');
			}
			$this->load->vars($data);
			$this->load->view('dashboard');
	}
	}
	
	//buat ambil data dari db menggunakan jquery n json
	function getOrder()
	{
	$no=trim($this->input->post('id'));
	$hasil=$this->MOrder->getOrder($no);
	$datetime = strtotime($hasil['modified']);
	$orderdate = date("d-m-y H:i ", $datetime);
	$array=array('modified'=>$orderdate);
	echo json_encode($array);			
	}

Are there anything wrong with my codes?What should i do?Thanks a lot...

Edited by yonghan: n/a

2
Contributors
1
Reply
2
Views
8 Years
Discussion Span
Last Post by Airshow
0

Yonghan,

In these lines (and maybe others), checkboxes, Update buttons and hidden input fields all get the same id and name on each pass through the foreach loop. It therefore appears that the javascript/jquery code has no way to distinguish one row from another.

$btn = array('id'=>'update','name'=>'update','value'=>'Update'); 
		$data = array('name'=>'notif','id'=>'notif');
		echo "<td align='center'>".form_checkbox($data)."<label for='update'>Notifikasi cust</label>".form_submit($btn)."</td>\n";
		echo '<input type="hidden" id="no_id" name="no_id" value="'.$list['id'].'" />';

Airshow

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.