首页 文章

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

提问于
浏览
0

我是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);
            }
    });
 });

我的控制器代码......

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 回答

  • 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);
        }    
    }
    

相关问题