Php 根据第一个下拉选择获取值
jqueryPhp 根据第一个下拉选择获取值,php,javascript,jquery,mysql,Php,Javascript,Jquery,Mysql,jquery <script type="text/javascript"> $(document).ready(function(){ $("#FirstDD").change(function(){ $('#SecDD').load('inc/subcategories.php?scatID='+this.value); }); }); </script> $(文档).ready(函数(){ $(“#
<script type="text/javascript">
$(document).ready(function(){
$("#FirstDD").change(function(){
$('#SecDD').load('inc/subcategories.php?scatID='+this.value);
});
});
</script>
$(文档).ready(函数(){
$(“#FirstDD”).change(函数(){
$('#SecDD').load('inc/subcategories.php?scatID='+this.value);
});
});
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>
子类别。。。
子类别输出该表的所有子类别,并选择必要的字段
当我单击一个类别
时,子类别
下拉列表中的禁用值
将被删除,但不会填充任何数据
subcategories.php的输出:
这里有什么问题,我如何修复它?您可以尝试使用jquery事件监听器,而不是使用onchange=
$("#FirstDD").change(function(){
$('#SecDD').load('inc/subcategories.php?scatID='+this.value);
});
Subcategories.php
从不输出任何内容。您需要循环返回的数据并输出一些HTML
s,以使现有的JS正常工作-AJAX调用将正常工作,但PHP脚本从不输出任何内容,因此显示将不会更新,因为没有任何内容可以更新它…如何在我的onchange()中运行它,您不需要将它放在onchange()中;你把它放在一个单独的区块我很快就明白了,请看更新的。这里出了什么问题?所以我从你那里看到。。。但是我现在看到的是,您正在将
加载到
-jQuery.load()
将返回的数据放在您调用它的元素中。您需要从Subcategories.php
中删除
,然后只输出
s,或者(最好)将
放在主页中的块级元素(如
)中,并在该元素上调用$.load()
。此外,您还需要确保Subcategories.php
能够正常工作—将其加载到浏览器中,并确保输出符合您的预期……Subcategories.php—输出所需的内容。你能展示一下你对Select和jquery.load()的讨论吗?DaveRandom-这两种方法似乎都不能解决问题。假设你调用$('#someDiv')。load
-元素someDiv
的内部HTML被替换为AJAX调用的结果。如果您使用
,但是调用的页面也会输出
,那么您最终得到的是
——因此AJAX调用请求的页面应该只输出
,而不是
.DaveRandom——请在这里查看更新的代码:(所以不让我修改我的成本)