使用codeigniter中的jquery ajax更新表中网页中的数据

时间:2016-05-24 11:28:28

标签: javascript php jquery ajax codeigniter

我是codeigniter以及jquery ajax的新手。我在网页上有一个表格,从数据库中读取数据并显示(即有关员工的信息)。我在同一页面上还有一个下拉列表,用户可以从各个部门中进行选择。现在,我想要的是,我想根据“更改事件”下拉列表中的选择(即根据部门)显示记录。另外,我使用jquery dataTable作为页表。我访问了很多论坛,但没有找到确切的解决方案。任何帮助,将不胜感激。更好的是,如果我可以从头开始获取代码,甚至可以链接到确切的解决方案。 我的尝试是, ajax_read.php查看文件是

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
<div id="classes"></div>

<select id="grades">
<option value="1">1</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<div id='result_table' style="color:white;">

</div>

<script type="text/javascript">
$(document).ready(function(){    
    $('#grades').change(function(){          
        $("#classes > option").remove(); 
        var grade_id = $('#grades').val();  
        $.ajax({
            type: "POST",
            url: "localhost/index.php/ci/get_classes/"+grade_id, 
            data: {gradeid:grade_id},
            success: function(classes) 
            {
                $.each(classes,function(id,name) 
                {
                    var opt = $('<option />'); 
                    opt.val(id);
                    opt.text(name);
                    $('#classes').append(opt); 
                });
            }        
        });

    });
});
</script>
</body>
</html>

Welcome.php控制器文件是     

class Welcome extends CI_Controller {
public function index()
{
    $this->get_classes();
}
function get_classes($gradeid)
{
$this->load->model('get_db');
header('Content-type: application/json');

if ($query = $this->get_db->get_all_classes($gradeid))
{
    echo json_encode($query);
} else {
    redirect('login/loginform');
}

}
}

get_db.php模型文件是

<?php

function get_all_classes($gradeid)
{

$this->db->where('id', $gradeid);

$query = $this->db->get('info');

if($query->result()){
    $result = $query->result();

    foreach($result as $row)
    {
        $options[$row->id] = $row->name;
    }   
    return $options;
} 
}
?>

可能还有一些愚蠢的错误,因为我只是从论坛复制粘贴代码而我很难理解它。

0 个答案:

没有答案