2011-04-19 78 views
0

我需要在选择第一个下拉列表后出现一个下拉列表,例如第一个下拉列表是类别,第二个下拉列表是子类别。下面是我出于某种原因,它不是在所有AJAX和MVC混合

工作我的观点

<td>Categories</td> 
    <td><select class="categories" name="category_id"> 
     <option value="0" selected="selected">Select a Category</option> 
     <?php foreach ($categories as $category) { ?> 
     <option value="<?php echo $category['category_id']; ?>"><?php echo $category['name']; ?></option> 
     <?php } ?> 
    </select></td> 
</tr> 
<tr class="dont_show"> 

</tr> 

我的jQuery

$(document).ready(function(){ 
    $('.categories').change(function() { 
     var my_location = window.location.pathname.replace('admin/', ''); 
     $('.dont_show').load(my_location + '?route=module/cart/ajax_sub&category_id=35'); 
    }); 
}); 

我的PHP其位于班

public function ajax_sub(){ 
    $this->load->model('catalog/category'); 
    $sub_categories = $this->model_catalog_category->getCategories($_GET['category_id']); 
    $data = "<td>Subcategories</td>"; 
    $data += '<td><select name="category_id">'; 
    $data += '<option value="0" selected="selected">Select a Subcategory</option>'; 
    foreach ($sub_categories as $sub_category){ 
     $data += '<option value=' . $sub_category['sub_category_id'] . '">'. $sub_category['name'] . '</option>'; 
    } 
    $data +=  '</select></td>'; 
    print $data; 
} 

它进入这里,但总是返回0。我试着渲染一个这样的视图

$this->template = 'default/template/module/ajax_sub.tpl'; 
    $this->render(); 

并把我的TD在那里,但仍然没有任何想法我做错了什么。

回答

2

使用。=而不是+ =为您的php代码中的字符串contatenation。