codeigniter で ajax を使用してデータベースからビューにデータを取得しようとしていますが、うまくいきません。grade_id をモデル関数に渡す際に問題が発生していると思います。
AJAX:
<script type="text/javascript">
    $(document).ready(function(){    
        $('#grades').change(function(){          
            $("#classes > option").remove(); 
            var grade_id = $('#grades').val();  
            $.ajax({
                type: "POST",
                url: "<?php echo base_url(); ?>index.php/login/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>
コントローラ:
 function get_classes($gradeid)
{
    $this->load->model('school_info_model');
    header('Content-type: application/json');
    if ($query = $this->school_info_model->get_all_classes($gradeid))
    {
        echo json_encode($query);
    } else {
        redirect('login/loginform');
    }
}
モデル:
function get_all_classes($gradeid)
{
    $this->db->where('grade_id', $gradeid);
    $query = $this->db->get('classes');
    if($query->result()){
        $result = $query->result();
        foreach($result as $row)
        {
            $options[$row->id] = $row->name;
        }   
        return $options;
    } 
}
編集:
2 つのことを除いて現在動作しているコードを更新しましたが、エラーが発生し続けます。
エラー:
PHP エラーが発生しました
重大度: 警告
メッセージ: foreach() に無効な引数が指定されました
ファイル名: helpers/form_helper.php
ライン番号: 331
また、初めてページをロードすると、成績の値が変更された場合にのみ AJAX がアクティブになるため、クラスの入力フィールドは空です。