监听第一个下拉菜单选择年份,获取数据库中该年份的数据中所有的月份数据,并作为第二个下拉菜单的子菜单;监听第二个下拉菜单选择月份,发送 AJAX 请求获取薪资记录
时间: 2023-08-16 13:06:27 浏览: 82
好的,这个需求可以通过以下代码实现:
首先,给第一个下拉菜单绑定 change 事件:
```javascript
$('#year-select').on('change', function() {
var year = $(this).val();
// 发送 AJAX 请求获取该年份的所有月份数据
$.ajax({
url: '/get-months',
data: { year: year },
success: function(months) {
// 清空第二个下拉菜单的子菜单
$('#month-select').empty();
// 将每个月份作为子菜单项添加到第二个下拉菜单中
$.each(months, function(index, month) {
var option = $('<option>').attr('value', month).text(month);
$('#month-select').append(option);
});
}
});
});
```
然后,给第二个下拉菜单绑定 change 事件:
```javascript
$('#month-select').on('change', function() {
var year = $('#year-select').val();
var month = $(this).val();
// 发送 AJAX 请求获取薪资记录
$.ajax({
url: '/get-salary',
data: { year: year, month: month },
success: function(salary) {
// 显示薪资记录
$('#salary').text(salary);
}
});
});
```
这里假设后端提供了 `/get-months` 和 `/get-salary` 两个接口,分别用于获取月份数据和薪资记录。在前端代码中,我们先监听第一个下拉菜单的 change 事件,当用户选择年份时,我们发送 AJAX 请求获取该年份的所有月份数据,并将每个月份作为第二个下拉菜单的子菜单项添加到其中。然后,我们再监听第二个下拉菜单的 change 事件,当用户选择月份时,我们发送 AJAX 请求获取薪资记录,并将其显示在页面上。
阅读全文