使用Ajax和Codeigniter的子类别

时间:2012-06-29 15:48:52

标签: ajax codeigniter

我选择了带有类别的框,我想使用ajax和CodeIgniter在另一个选择框中显示子类别。

这是我观点的一部分:

<script type="text/javascript">
$(document).ready(function(){

    $('#tip_category').change(function(){
        msg = 'category_id='+$(this).val();
            $.ajax({
                type : 'POST',
                url : '<?php echo base_url().'admin/tips/ajax_subcategory';?>',
                data : msg


    });
    });    
});

</script>

Category:<br/>
<select name="tip_category" id="tip_category">
    <?php foreach($categories as $category): ?>
        <option value="<?php echo $category['id'] ?>"><?php echo $category['name'] ?>
        </option>    
    <?php endforeach; ?>
</select><br/>

Subcategory:<br/>
<select name="tip_subcategory"
    <?php if(isset($subcategories)): ?>
        <?php foreach($subcategories as $subcategory): ?>
            <option value="<?php echo $subcategory['id'] ?>"><?php echo $subcategory['name'] ?>
            </option>    
        <?php endforeach; ?>
    <?php endif; ?>
</select><br/>

这是我的控制器的一部分:

public function ajax_subcategory() {
    $this->load->model('tips_model');
    $data['subcategories'] = $this->tips_model->get_subcategories($this->input->post('category_id'));     
}

我的问题是我不知道如何发送数据($ data ['subcategories'])回到查看和显示子类别。求救!

2 个答案:

答案 0 :(得分:0)

我认为你只是错过了回报(无论你需要什么样的格式):

  

返回$ data;

答案 1 :(得分:0)

您可以将控制器修改为:

public function ajax_subcategory() {
    $this->load->model('tips_model');
    $data['subcategories'] = $this->tips_model->get_subcategories($this->input->post('category_id'));
    return $this->output->set_output($data);     
}