有一个表,可以增加很多行,一行有4列:人员等级,出行日期,出行班次,票务等级。其中,当人员等级小于20时,只能申请火车硬卧和动车二等座。人员等级大于20小于23时只能申请机票的经济舱和火车硬卧和动车二等座,人员等级大于23时,可以申请机票经济舱和商务舱和头等舱火车软卧和硬卧,动车二等座和动车二等座。但是当出行时间相同并且班次相同时算作陪同,按其中人员等级最高的来限制。请用js写代码实现提交校验。
时间: 2023-03-13 09:02:08 浏览: 97
可以用以下 JavaScript 代码实现提交校验:// 表格行数
var rowCount = table.rows.length;// 循环表格行
for (var i = 0; i < rowCount; i++) {
// 获取表格中的四个字段
var level = table.rows[i].cells[0].innerHTML;
var date = table.rows[i].cells[1].innerHTML;
var shift = table.rows[i].cells[2].innerHTML;
var ticketLevel = table.rows[i].cells[3].innerHTML; // 根据人员等级,限制可选择的票务等级
if (level < 20) {
if (ticketLevel !== "火车硬卧" && ticketLevel !== "动车二等座") {
alert("人员等级小于20时,只能申请火车硬卧和动车二等座!");
return false;
}
} else if (level >= 20 && level < 23) {
if (ticketLevel !== "火车硬卧" && ticketLevel !== "动车二等座" && ticketLevel !== "机票经济舱") {
alert("人员等级大于20小于23时只能申请机票的经济舱和火车硬卧和动车二等座!");
return false;
}
} else {
if (ticketLevel !== "火车软卧" && ticketLevel !== "火车硬卧" && ticketLevel !== "动车二等座" && ticketLevel !== "机票经济舱" && ticketLevel !== "机票商务舱" && ticketLevel !== "机票头等舱") {
alert("人员等级大于23时,可以申请机票经济舱和商务舱和头等舱火车软卧和硬卧,动车二等座和动车二等座!");
return false;
}
} // 如果出行日期和班次相同,则按最高人员等级限制
for (var j = 0; j < rowCount; j++) {
if (i !== j && date === table.rows[j].cells[1].innerHTML && shift === table.rows[j].cells[2].innerHTML) {
var levelMax = Math.max(level, table.rows[j].cells[0].innerHTML);
if (levelMax < 20) {
if (ticketLevel !== "火车硬卧" && ticketLevel !== "动车二等座") {
alert("当出行时间相同并且班次相同时算作陪同,按其中人员等级最高的来限制,人员等级小于20时,只能申请火车硬卧和动车二等座!");
return false;
}
} else if (levelMax >= 20 && levelMax < 23) {
if (ticketLevel !== "火车硬卧" && ticketLevel !== "动车二等座" && ticketLevel !== "机票经济舱") {
alert("当出行时间相同并且班次相同时算作陪同,按其中人员等级最高的来限制,人员等级大于20小于23时只能申请机票的经济舱和火车硬卧和动车二等座!");
return false;
}
} else {
if (ticketLevel !== "火车软卧" && ticketLevel !== "火车硬卧" && ticketLevel !== "动车二等座" && ticketLevel !== "机票经济舱" && ticketLevel !== "机票商务舱" && ticketLevel !== "机票头等舱") {
alert("当出行时间相同并且班次相同时算作陪同,按其中人员等级最高的来限制,人员等级大于23时,可以申请机票经济舱和商务舱和头等舱火车软卧和硬卧,动车二等座和动车二等座!");
return false;
}
}
}
}
}