如何将值在jquery中的数组传递给codeigniter中的控制器

时间:2012-11-28 03:49:35

标签: php jquery codeigniter

我是codeigniter和jquery的新手,但我现在维护的网站现在使用这个框架和语言,。,。问题是我在页面中有这些文本字段和隐藏字段,。我想获取值这些输入字段通过jquery,。,通过$ .post的jquery传递给一个Controller,。,。我知道如何跟踪流但我不知道如何在我的控制器中获取传递的值,我完全是新手在codeigniter和jquery中,我想学习并同时完成任务,。,。 继承我的视图页面中的代码..

 <?php $date = date('m/d/Y');
    $ts = strtotime($date);
    $year = date('o', $ts);
    $week = date('W', $ts);
    for($i = 1; $i <= 7; $i++) {
           $ts = strtotime($year.'W'.$week.$i);
        ?><input type="text" name="days" class="days" /><input type="hidden" id="date_now" name="date_now" value="<?php print date("Y-m-d", $ts); ?>" />

    } 
?>

和我的文本输入jquery

$(".saveTimeSheet").click(function() { 
    var days_array     = [];
    var date_now_array = [];

    $('.days').each(function() {
            days_array.push($(this).val());
    });
    $.post("<?php print base_url().'index.php/MyController/saveTimeTable'?>", {days_array: days_array},
        function(data){
            if(data=='success')
            {
                alert('success');
            }
            else{
                error_message(data);
            }
    });
 });

MyController Code ...

function saveTimeTable()
{
   $idnum=$this->session->userdata('id');       
       $duration=$this->input->post('days_array')*3600;
       $this->mmyhr->modeSaveTimeTable($idnum, $duration);
}

我的模型代码(mmyhr)

function modeSaveTimeTable($idnum, $duration)
{
   $this->db->set('employee_id', $idnum);
   $this->db->set('duration', $duration);
   $this->db->insert('hs_hr_time_event');
 }
任何人都可以帮助我,...,请....

1 个答案:

答案 0 :(得分:1)

根据您上面的代码,您的控制器应该是这样的:

function saveTimeTable()
{
    $idnum=$this->session->userdata('id');
    $days_array = $this->input->post('days_array');

    foreach($days_array as $day){
        $duration=$day*3600;
        $this->mmyhr->modeSaveTimeTable($idnum, $duration);
    }    
}