<?php
$dates = "";
foreach ($check_ins as $check_in):
$dates .= '<option value= "' . $check_in['check_in'] . '">' . $check_in['check_in'] . '</option>';
endforeach;
?>
<html>
<head>
<title>Bookings stats</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function dynamicDates() {
var d = $("#dates").val();
$.post("stats.php", { newDate: d });
}
$("#dates").change( dynamicDates );
</script>
</head>
<body>
<select id="dates" name="check_in"><?php echo $dates; ?></select>
<?php if (!empty($_POST["newDate"])){ echo $_POST["newDate"]; }?>
</body>
</html>
我希望每当我在下拉列表中选择日期时,都会显示一条带有该日期的消息,但是会发生任何事情。首先我认为这是关于帖子的事情,但现在我在Firebug的第一行放置了一个断点,它永远不会到达那里,所以脚本根本没有运行。
为什么?
答案 0 :(得分:2)
这样做
<select id="dates" name="check_in" onchange="dynamicDates()">
^ ^
或
$("#dates").change(dynamicDates());
^// parenthesis missing
答案 1 :(得分:0)
事件更改的javascript在其dom元素之前初始化。
在它引用的dom元素之后移动JS或者用你的js包装类似下面的内容。
$(document).on('ready', function() {
// MY FANCY JS CODE
});
[编辑]您可以查看此网站how jquery works