我正在尝试根据上一个下拉列表中的选择从 mysql 表中填写下拉列表。
我已经查看了许多询问如何执行此操作的问题,并提出了以下问题,但是当我从第一个下拉列表中选择某些内容时,我的第二个下拉列表没有发生任何事情。
我有 newStock.php,头上有以下脚本。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
<script type="text/javascript">
$(function(){
$('#field').change(function(){ //on change event
var fieldVal = $('#field').val(); //<----- get the value from the parent select
$.ajax({
url : 'process.php', //the url you are sending datas to which will again send the result
type : 'GET', //type of request, GET or POST
data : { fieldValue: fieldVal}, //Data you are sending
success : function(data){$('#field2').html(data)}, // On success, it will populate the 2nd select
error : function(){alert('an error has occured')} //error message
})
})
})
</script>
在正文中创建了两个下拉菜单:
<?php
connect('final');//connect to DB
$sql = mysql_query("SELECT * FROM stockcata");
while ($row = mysql_fetch_array($sql)){
echo '<option value='.$row['id'].'>' .$row['Catagory']. '</option>';
}
?>
</Select> </label>
<input type="text" name="addCatagory" />
<label><span>Section</span>
<Select name="field2" id="field2">
</Select> </label>
下面的 process.php 用于查询我的数据库并提供填写第二个下拉菜单的选项
<?php
require("header.php");
connect('final');
$temp = $_GET['fieldValue'];
$result = mysql_query("SELECT * FROM stocksection WHERE cataID = '$temp'");
while ($row = mysql_fetch_array($result)){
echo '<option value='.$row['id'].'>' .$row['section']. '</option>';
}
?>
第二个下拉菜单中没有任何反应,我不知道为什么。
编辑.........
我试图进一步调试它。我的数据库设置了 2 个表;部分:ID、标题、Catagory_ID
和类别:ID、标题
当它查询部分表时,它只返回 Catagory_ID 为 0 的数据,无论我从下拉列表中选择什么选项