2013-08-02 26 views
0

我有一個窗體用於向網站添加產品。 表單包含2個下拉框,一個用於類別,另一個用於子類別。當你在第一個選擇一個類別時,第二個應該填充與它相關的子目錄。貓和小貓是從2個MySQL表。 類別被加載到第一個框確定,但是當我選擇一個沒有subcats得到加載到第二個下拉列表!代碼添加子類別下拉不起作用

這是我的形式和Ajax加載subcats

<form class='adminform1' action='add_products.php' method='post' enctype='multipart/form-data' name='image_upload_form' id='image_upload_form'> 
      <?php 
       include '../inc/categorydropdown.php'; 
       ?> 
       <span class='formheading'>Add Product</span><br /><br /> 
       <p><b>Choose Image</b><br /><input name="image_upload_box" type="file" id="image_upload_box" /></p> 
       <b>Name</b><br /><input type=text name="aname" /><br /> 
       <b>Description</b><br /><textarea rows="12" cols="40" name="adescription"></textarea><br /> 
       <b>Price</b><br /><input type=text name="aprice" /><br /> 
       <b>Product Code</b><br /><input type=text name="acode" /><br /> 
       <p><label for="cat">Category</label> 
       <select name="cat" id="cat"> 
        <?php echo $op;?> 
       </select><br /> 
       <label for="subcat">Subcategory</label> 
       <select name="subcat" id="subcat"> </select></p> 
       <br /> 
       <br /> 
       <input type='submit' id='submit' name='submit' value='Add Product' /> 
       <input type='hidden' value='new' /><br /> 

     </form> 
     <script> 
     //bind category dropdown change event 
     $('#cat').change(function(){ 
      getSubCat(); 
     }); 
     //change subcat dropdown 
     function getSubCat(){ 
      cat = $('#cat').val(); 
      $.post("../inc/subcat.php", { cat: cat }).done(function(data) { 
       $('#subcat').html(data); 
      }); 
     } 
     //run on page load 
     getSubCat(); 
     </script> 

這裏是我的PHP產生subcats用於發送給Ajax代碼。

<?php 
include 'connect.php': 
if(isset($_POST['cat'])){ 
$cat = intval($_POST['cat']); 
$query = "SELECT subcat_id, subcategory FROM `subcategories` WHERE cat_id = $cat"; 
$result = $link->query($query) or die('error'); 
$subcatOps = ''; 
if(mysqli_num_rows($result)){ 
    while ($row = mysqli_fetch_assoc($result)) { 
     $subcatOps .= "\n\t<option value='{$row['subcat_id']}'>{$row['subcategory']}</option>"; 
    } 

} 
echo $subcatOps; 
?> 

任何人都可以看到問題嗎?

謝謝

+0

檢查控制檯錯誤和分析瀏覽器的開發工具的網絡選項卡上的AJAX調用,我也建議你使用「成功」回調到你的ajax調用而不是'done'並實現'error'回調來處理好錯誤 –

回答