2011-04-19 40 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。