Заполните 2-й выпадающий список на основе 1-го выпадающего списка - PullRequest
0 голосов
/ 23 ноября 2011

По сути, я пытаюсь выполнить, когда кто-то щелкнет по первому html-раскрытию id="FirstDD", на основе выбранного option второго раскрывающегося списка id="SecDD" заполнится полями, которые соответствуют выбору FirstDD выпадающих меню.,Все это запускается с помощью ajax для выполнения начального вызова и обработки php оттуда в subcategories.php.

В настоящее время происходит следующее: я выбрал первый раскрывающийся список, но в SecDD* 1009 ничего не заполняется*

JS / AJAX:

    <script type="text/javascript">
    $(document).ready(function(){
    $("#FirstDD").change(function(){
        $('#SecDD').load('inc/subcategories.php?scatID='+this.value);
        });
    });
    </script>

HTML

   <select style="width:300px;" id="FirstDD" name="userListingCategory">
                    <!--onchange="$('#SecDD').load('inc/subcategories.php?scatID='+this.value);"-->
                          <option  disabled="disabled">Category...</option>
                          <?php while($row = $sth2->fetch(PDO::FETCH_ASSOC))
                          {echo "<option value=". $categoryID . ">" .$row['catName']."</option>";}
                        unset($sth2);
                        ?>

                    </select> 
                   <select style="width:340px;" id="SecDD" name="userListingSCategory" style="display:none">
                    <?php require_once('inc/subcategories.php'); ?>
                    </div>
                    </select> 

Subcategories.php

<?php require_once('db/dbc.php');
#GET SELECT sub-category names
$pdo3 = new PDO($h1, $u, $p);
$pdo3->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sth3 = $pdo3->prepare("
SELECT scatID, scatName
FROM Category C, SubCategory SC
WHERE C.catID = SC.catID
;");
$sth3->execute(array());
?>

<option  disabled="disabled">Sub-Category...</option>
<?php
#Get subcats    
while($row = $sth3->fetch(PDO::FETCH_ASSOC))
{echo "<option value=". $row['scatID'] . ">" .$row['scatName']."</option>";}
unset($sth3);
?>

1 Ответ

0 голосов
/ 23 ноября 2011

Диагностика проблемы:

  • Получите php, чтобы повторить this.value, чтобы увидеть, является ли содержимое того, что вы ожидаете.
  • Запустите SQL-запрос сожидаемое содержимое и посмотрите, вернет ли оно ожидаемые данные.

Если оба эти параметра работают каждый раз нормально, значит, что-то не срабатывает, но отсюда код кажется правильным.После этого я попытался бы поместить выражения echo между вашими строками и посмотреть, где они остановятся.

...