数据库中只有2022/09/01~2023/05/01的月度薪资发放记录。PHP页面有两个下拉菜单,分别是选择年份和月份。当页面加载完成时,发送 AJAX 请求获取可选年份,将年份添加到下拉菜单中,监听下拉菜单的 change 事件,获取所选年份,再发送 AJAX 请求获取可选月份,将月份添加到第二个下拉菜单中,接着发送 AJAX 请求获取薪资记录,清空表格并将记录添加到表格中。注意,监听年份下拉菜单获取年份时,如果更改所选年份,则月份下拉菜单需要清空并重新获取月份。
时间: 2023-11-12 12:05:32 浏览: 70
嵌入式系统/ARM技术中的短信息服务及其在图书馆查书系统中的应用技术
好的,这个需求可以通过以下步骤实现:
1. 页面加载完成时,发送 AJAX 请求获取可选年份列表,将年份添加到年份下拉菜单中。
2. 监听年份下拉菜单的 change 事件,获取所选年份。如果更改了年份,则清空月份下拉菜单并重新发送 AJAX 请求获取可选月份列表,将月份添加到月份下拉菜单中。
3. 监听月份下拉菜单的 change 事件,获取所选月份。如果更改了月份,则发送 AJAX 请求获取对应月份的薪资记录列表,并将记录添加到表格中。在添加记录前,需要先清空表格。
下面是一个简单的实现示例:
HTML 代码:
```
<select id="year"></select>
<select id="month"></select>
<table id="salaryTable">
<thead>
<tr>
<th>员工编号</th>
<th>姓名</th>
<th>月份</th>
<th>薪资</th>
</tr>
</thead>
<tbody></tbody>
</table>
```
JavaScript 代码:
```
// 页面加载完成时,发送 AJAX 请求获取可选年份列表
$(function() {
$.ajax({
url: 'getYearList.php',
success: function(yearList) {
// 将年份添加到年份下拉菜单中
for (var i = 0; i < yearList.length; i++) {
$('#year').append('<option value="' + yearList[i] + '">' + yearList[i] + '</option>');
}
}
});
});
// 监听年份下拉菜单的 change 事件
$('#year').on('change', function() {
var year = $(this).val();
// 发送 AJAX 请求获取可选月份列表
$.ajax({
url: 'getMonthList.php',
data: { year: year },
success: function(monthList) {
// 清空月份下拉菜单并将月份添加到月份下拉菜单中
$('#month').empty();
for (var i = 0; i < monthList.length; i++) {
$('#month').append('<option value="' + monthList[i] + '">' + monthList[i] + '</option>');
}
// 清空表格
$('#salaryTable tbody').empty();
}
});
});
// 监听月份下拉菜单的 change 事件
$('#month').on('change', function() {
var year = $('#year').val();
var month = $(this).val();
// 发送 AJAX 请求获取对应月份的薪资记录列表
$.ajax({
url: 'getSalaryList.php',
data: { year: year, month: month },
success: function(salaryList) {
// 将记录添加到表格中
var tbody = $('#salaryTable tbody');
tbody.empty();
for (var i = 0; i < salaryList.length; i++) {
var tr = $('<tr>');
tr.append('<td>' + salaryList[i].employeeId + '</td>');
tr.append('<td>' + salaryList[i].name + '</td>');
tr.append('<td>' + salaryList[i].month + '</td>');
tr.append('<td>' + salaryList[i].salary + '</td>');
tbody.append(tr);
}
}
});
});
```
以上示例代码仅供参考,具体实现需要根据实际情况进行调整。另外,需要在服务端编写相应的 API 接口来处理 AJAX 请求。
阅读全文