根据首次下拉选择获取值

时间:2011-10-23 21:12:37

标签: php javascript jquery mysql

jquery的

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

HTML / PHP

<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))
                      {$categoryID = $row['catID']; echo "<option value=". $categoryID . ">" .$row['catName']."</option>";}
                    unset($sth2);
                    ?>

                </select> 
               <?php require_once('inc/subcategories.php'); ?> 

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());
?>

<select style="width:340px;" id="SecDD" name="userListingSCategory" style="display:none">
<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);
?>
</div>
</select> 

子类别输出该表的所有子类别,并选择了必要的字段。

当我点击CATEGORY时,SUBCATEGORY下拉列表disabled value将被删除,但无法填写数据。

subsategories.php的输出: http://i.stack.imgur.com/Bc1J2.png

这里有什么问题,我该如何解决?

2 个答案:

答案 0 :(得分:0)

而不是使用onchange =你可以尝试使用jquery事件监听器:

$("#FirstDD").change(function(){
    $('#SecDD').load('inc/subcategories.php?scatID='+this.value);
});

答案 1 :(得分:0)

Subcategories.php从不输出任何内容。您需要循环返回的数据并输出一些HTML <option>以便您的现有JS工作 - AJAX调用将起作用,但PHP脚本从不输出任何内容,因此显示将不会更新,因为有什么都没有更新...