嘿伙计们,我知道这次被问了很多次,这是我第一次遇到问题,我需要从数据库中获取数据,但它不起作用,并且控制台没有错误。我出于某种原因无法让它工作,我的设置正确,我的ajax很好吗?
这是我的HTML:
<div class="form-group">
<label> Event</label>
<?php
$event = $con->prepare('SELECT * FROM event');
$event->execute();
$eventrows = $event->fetchAll();
?>
<select class="form-control" id="event" name="event_id">
<?php
foreach ($eventrows AS $eventrow) {
?>
<option
value="<?php echo $eventrow['EventID']; ?>"><?php echo $eventrow['EventName']; ?></option>
<?php } ?>
</select>
</div>
<div class="form-group">
<label> Level</label>
<select class="form-control" id="level" name="level_id">
</select>
</div>
我的Ajax
<script>
$(document).ready(function() {
$('#event').change(function() {
var event_id = $(this).children(":selected").val();
$.post("get_level.php", {
event_id: event_id
}, function(data, status) {
console.log(status);
if (status == 'success') {
var loopdata = JSON.parse(data);
$('#level').html('')
$.each(loopdata, function(i, item) {
$('#level').append("<option value='" + loopdata[i].LevelID + "'>" + loopdata[i].LevelName + "</option>");
});
console.log(data);
}
});
});
});
</script>
get_level.php
<?php
session_start();
include 'connect.php';
$reg = $con->prepare("SELECT * FROM Level WHERE EventID = '".$_POST['event_id']."'");
$reg->execute(array());
$allreg=$reg->fetchAll();
echo json_encode($allreg); // pass array in json_encode
?>
答案 0 :(得分:0)
代码中没有问题,但是代码的位置,ajax没有工作的原因,它应该是页脚包含页脚后的最后一个内容因为页脚包含jQuery包含
答案 1 :(得分:-2)
$(document).ready(function() {
$('#event').change(function() {
var event_id = $(this).val();
$.post("get_level.php", {
event_id: event_id
}, 'json')
.done(function(loopdata) {
$('#level').html('')
$.each(loopdata, function(i, item) {
$('#level').append("<option value='" + item.LevelID + "'>" + item.LevelName + "</option>");
});
});
});
});