0

我有带有类别的选择框,我想使用 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']) 发送回查看和显示子类别。谢谢帮助!

4

2 回答 2

0

我认为您只是错过了退货(以您需要的任何格式):

返回$数据;

于 2012-06-29T15:54:48.930 回答
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);     
}
于 2012-06-29T16:49:45.183 回答