Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX、PHP和MYSQL填充依赖下拉列表_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 使用AJAX、PHP和MYSQL填充依赖下拉列表

Javascript 使用AJAX、PHP和MYSQL填充依赖下拉列表,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我试图根据id='classes'的另一个下拉列表的值,用id='gymnasts'填充一个下拉列表 我知道我必须使用AJAX,但是在完成了多个不同的教程之后,我似乎无法让前面提到的第二个下拉菜单显示任何选项 我的代码如下: reports.php: <script> function getGymnasts(val){ alert('gets'); $.ajax({ type:"POST", url:"ajax_populate.ph

我试图根据id='classes'的另一个下拉列表的值,用id='gymnasts'填充一个下拉列表

我知道我必须使用AJAX,但是在完成了多个不同的教程之后,我似乎无法让前面提到的第二个下拉菜单显示任何选项

我的代码如下:

reports.php:

<script>
function getGymnasts(val){
    alert('gets');
    $.ajax({
        type:"POST",
        url:"ajax_populate.php",
        data: 'classid='+val,
        success: function(data){
            $("$gymnasts").html(data);
        }
    });
}
</script>
<form method="post">
    <table>
    <tr><td>Select Class:</td><td><select id="classes" onChange="getGymnasts(this.value)" placeholder="Select Class" required/>
            <?php $classes = mysqli_query($GLOBALS['link'], "SELECT * FROM classes;");
            foreach($classes as $class){
                echo('
                    <option value="'.$class['id'].'">'.$class['level'].'</option>
                ');
            }?>
        </select></td></tr>

    <tr><td>Select Gymnast:</td><td>
        <select id="gymnasts" placeholder="Select Gymnast" required/>

        </select></td></tr>


    <tr><td>Report:</td><td><textarea name="body" cols="60" rows="20" placeholder="Report text" required/></textarea></td></tr>
    <tr><td>Progression Grade:</td><td><input type="text" name="progression" placeholder="A" required/></td></tr>
    <tr><td>Effort Grade:</td><td><input type="text" name="effort" placeholder="A" required/></td></tr>
    <tr><td></td><td><input type="submit" name="saveReport" value="Save"><input type="submit" name="savesendReport" value="Save and Send"></td></tr>
    </table>
</form>

功能体操运动员(val){
警报('gets');
$.ajax({
类型:“POST”,
url:“ajax_populate.php”,
数据:“classid=”+val,
成功:功能(数据){
$(“$gymnasts”).html(数据);
}
});
}
选择类别:

您对
体操运动员的id使用了错误的选择器,请在成功回调中使用
#
而不是
$

success: function(data){
     $("#gymnasts").html(data);
     // ^ change $ to # here
}
此外,如果未找到结果,请选择一个选项

else{$msg .="<option>No Gymnasts were found!</option>";}
else{$msg.=“没有找到体操运动员!”;}

尝试使用以下函数代替函数
html()
.append($(数据))。请记住,当没有找到体操运动员时,您的代码会产生一些无意义的结果!此外,你必须用
$(“#gymnasts”)
来选择你的
体操运动员
选择列表,而不是
$(“$gymnasts”)
这可能比较老,但这是一个更好的版本,你可以这样做。谢谢大家!+代表!
else{$msg .="<option>No Gymnasts were found!</option>";}