一段时间以来,我一直无法运行 ajax 脚本。
基本上,我需要用户从一个下拉框中选择一个选项,然后根据选择的内容,根据 MySQL 查询相应地填充第二个下拉框。
我的脚本看起来像
<script type="text/javascript">
$(function(){
$('select [name="front-size"]').change(function()
{
$.ajax({
url: '../functions/process.php',
type:'get',
data:{'value' : $(this).val()},
dataType:"html",
success: function(data) {
$("#sub").html(data);
}
});
});
});
</script>
我的初始下拉框由 MySQL 查询填充,如下所示
<select name="front-size" onchange="ajaxfunction(this.value)">
<?php
$door_size = $db->prepare("SELECT DISTINCT door_size FROM doors WHERE door_model = '".$_SESSION['front_door']."'");
$door_size->execute();
while($row = $door_size->fetch(PDO::FETCH_ASSOC))
{
$size = $row['door_size'];
echo '<option value="'.$size.'">'.$size.'</option>';
}
?>
</select>
第二个下拉框为空
<select name="front-finish" id="sub" onchange="ajaxfunction(this.value)">
</select>
并且 process.php 应该根据之前选择的内容进行下一个查询(这可以独立工作)
<?php
session_start();
include ('config.php');
$parent = $_GET['parent'];
$update_option = $db->prepare("SELECT door_finish FROM doors WHERE door_model = '".$_SESSION['front_door']."' AND door_size = '".$parent."'");
$update_option->execute();
while($row = $update_option->fetch(PDO::FETCH_ASSOC))
{
$door_finishes = $row['door_finish'];
echo '<option value="'.$door_finishes.'">'.$door_finishes.'</option>';
}
?>
在 Firebug 中,当我选择我的第一个下拉菜单时,会显示此错误并且我无法解决它。
ReferenceError: ajaxfunction is not defined
ajaxfunction(this.value)
我怎样才能解决这个问题?