我正在使用我的数据库中的 ajax jquery 和 PHP 动态地将选项添加到下拉列表中,但由于某种原因它不起作用。请检查我的代码:
AJAX
$("#course").change(function() {
var id = $(this).val();
$.ajax({
type: "POST",
url: "../ajax-select.php",
data: id,
cache: false,
success: function(html)
{
$("#sub").html(html);
}
});
});
ajax-select.php
<?php
if($_POST['id'])
{
$id=$_POST['id'];
$sql=mysql_query("SELECT * FROM `subjects` WHERE `course_id`='$id'");
while($row=mysql_fetch_array($sql))
{
$id=$row['sub_id'];
$data=$row['sub_name'];
echo '<option value="'.$id.'">'.$data.'</option>';
}
}
?>
HTML
<select class="form-control" name="course" id="course">
<option value="notselectedyear" selected>Select the Course</option>
<?select_course();?>
</select>
</div>
</p>
<p>
<div class="input-group">
<span class="input-group-addon">Subject</span>
<select class="form-control" name="sub" id="sub">
<option value="notselectedsubject" selected>Select the subject</option>
</select>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="js/app.js" type="text/javascript"></script>
</body>
</html>
其他信息:
- 分配给选择选项的 ID 正确
- ajax 代码位于名为 js 的文件夹中,而所有其他文件位于根目录中
- Jquery 包含在主体关闭之前
我哪里出错了?
最佳答案
更改:
data: id,
致:
data: {id: id},
如果您的内容是动态生成的(在 DOM 准备好后添加),请使用以下内容:
$(document).on('change', '#course', function()
{
//your code here
});
关于javascript - Ajax 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25069901/