しばらく ajax スクリプトを実行できませんでした。
基本的に、ユーザーは 1 つのドロップダウン ボックスからオプションを選択し、選択した内容に基づいて、MySQL クエリに基づいて 2 番目のドロップダウン ボックスに入力する必要があります。
私のスクリプトは次のようになります
<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>
2 番目のドロップダウン ボックスは空です
<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)
どうすればこれを修正できますか?