在codeigniter项目中制作相关组合框

在codeigniter项目中制作相关组合框,codeigniter,Codeigniter,我很痛苦,但仍然无法在Codeigniter中创建依赖的下拉框。 以下是模式: groups(group_id,group) forum(forum_id,subject) group_forum(group_id,forum_id) 这是我的密码: 模型 控制器: 看法 请换 $subjects[$y['forum_id']] = $y['subject']; 到 在模型文件中。模型php文件中的空格或换行符也位于php标记之后和之前 编辑:添加到下面 function(subjects)

我很痛苦,但仍然无法在Codeigniter中创建依赖的下拉框。 以下是模式:

groups(group_id,group)
forum(forum_id,subject)
group_forum(group_id,forum_id)
这是我的密码: 模型 控制器:

看法

请换

$subjects[$y['forum_id']] = $y['subject'];

在模型文件中。模型php文件中的空格或换行符也位于php标记之后和之前

编辑:添加到下面

function(subjects){
    var select = $('#f_forum').empty();
    $.each(subjects.values, function(i,item) {
        select.append( '<option value="'
                             + item.id
                             + '">'
                             + item.name
                             + '</option>' ); 
    });

如果使用组id在浏览器中键入url,则从get_subjects方法得到的响应是什么?还有一个建议。一个论坛可以属于多个群组吗?否则,可以避免论坛表中的第三个表和列groupid。遇到PHP错误严重性:警告消息:无法修改标题信息-标题已由在D:\xampp\htdocs\uaanew4\application\models\model\form.PHP开始的输出发送:2文件名:controllers/c\u control\u form.PHP行号:33致命错误:当我在浏览器中键入url时,无法在第24行的D:\xampp\htdocs\uaanew4\application\models\model\u form.php中将stdClass类型的对象用作数组,是的,论坛可以属于多个组。谢谢@nish删除模型文件中php标记前后的所有空格,然后重试。。现在没有错误,窗口提示保存或打开文件,直到第二个下拉框没有数据,即使在视图文件中,我在ajax中发出了警告,但没有响应。@nish在检查ajax之前,需要通过直接键入AJAX调用的url来检查响应。您收到的错误消息是什么?我没有收到任何错误,而是打开文件或保存文件窗口提示@Nishcomment header'Content-Type:application/x-json;字符集=utf-8';让我知道结果。{1:physic1,2:physics1,3:physics2,4:physics2,5:Chemistry 1,6:Chemistry 1,7:acc1,8:acc1,9:acc2,10:acc2,11:economics1,12:economics2,13:economics2,14:economics1}
<html>
<head>
    <script type="text/javascript" src="<?php echo base_url("js/jquery-1.7.2.min.js"); ?>"  ></script>
    <script type="text/javascript">

    // $('#f_group, #f_forum').hide();
      $(document).ready(function(){
        $('#f_group').change(function(){

            var group_id = $('#f_group').val();
            if (group_id != ""){


              var post_url = "index.php/c_control_form/get_subjects/"+group_id;
              //    var post_url = "<?php echo base_url();?>"+"c_control_form/get_subjects"+group_id;

                $.ajax({
                    type: 'POST',
                    url: post_url,
                    dataType : 'json',

                    success: function(subjects) //we're calling the response json array 'cities'
                    {
                        $("#f_forum > option").remove();

                      //  $('#f_forum').empty();
                      //  $('#f_forum, #f_forum_label').show();

                        $.each(subjects,function(forum_id,subject)
                        {
                            var opt = $('<option/>'); // here we're creating a new select option for each group
                            opt.val(forum_id);
                            //alert(id);
                            opt.text(subject);
                            $('#f_forum').append(opt);
                        });
                    } //end success
                }); //end AJAX
            } else {
                $('#f_forum').empty();
            //   $('#f_forum, #f_forum_label').hide();
            }//end if

        }); //end change

        });
    </script>

</head>
<body>
<?php echo form_open('c_control_form/add_all'); ?>
    <p>
    <label for="f_group">Group<span class="red">*</span></label>

    <select id="f_group" name="f_group">
        <option value=""></option>
        <?php
        foreach($groups as $group){
            echo '<option value="' . $group->group_id . '">' . $group->group_name.'</option>';
        }
        ?>
    </select>
    </p>

    <p>
    <label for="f_forum">Subject<span class="red">*</span></label>


    <select id="f_forum" name="f_forum" id="f_forum_label">
        <option value=""></option>
    </select>
    </p>
  <?php echo form_close(); ?>  
</body>
$subjects[$y['forum_id']] = $y['subject'];
$subjects[$y->forum_id] = $y->subject;
function(subjects){
    var select = $('#f_forum').empty();
    $.each(subjects.values, function(i,item) {
        select.append( '<option value="'
                             + item.id
                             + '">'
                             + item.name
                             + '</option>' ); 
    });