使用jQuery技术制作体育选课表单,其中包括姓名,学号,电话,籍贯和课程,其中籍贯要有省市联动,课程需选两门以上,表单有重置和提交功能,课程少于两门无法提交,提交后会生成一个选课信息统计表
时间: 2024-03-26 13:37:23 浏览: 49
这是一个比较复杂的问题,需要详细解答。首先,我们需要使用HTML和CSS来构建表单的基本结构和样式。然后,我们可以使用jQuery技术来实现以下功能:
1. 实现省市联动功能:使用jQuery的ajax方法,获取省市数据,根据用户选择的省份,动态生成对应的城市选项。
2. 实现课程选择:使用jQuery的多选框控件,让用户选择自己想要选修的课程。同时,通过JavaScript代码判断用户是否选了两门及以上的课程,如果不足两门,则禁用提交按钮。
3. 实现重置和提交功能:使用jQuery的click事件监听器,分别绑定重置和提交按钮的点击事件,实现表单的重置和提交功能。提交功能可以使用ajax方法将表单数据发送到后台处理,后台处理完成后返回一个选课信息统计表。
最后,我们需要使用HTML和CSS来美化选课信息统计表的样式,让用户更加易于阅读和理解。
相关问题
jQ提交姓名学号性别籍贯选课信息到表格中
好的,您可以使用以下代码将姓名、学号、性别、籍贯和选课信息提交到表格中:
```javascript
$(document).ready(function() {
$('#submit-btn').click(function() {
var name = $('#name-input').val();
var studentID = $('#studentID-input').val();
var gender = $('input[name="gender"]:checked').val();
var hometown = $('#hometown-input').val();
var course = $('#course-select').val();
var tableRow = '<tr><td>' + name + '</td><td>' + studentID + '</td><td>' + gender + '</td><td>' + hometown + '</td><td>' + course + '</td></tr>';
$('#info-table tbody').append(tableRow);
});
});
```
假设您的表格ID为`info-table`,提交按钮的ID为`submit-btn`,姓名、学号、性别、籍贯和选课信息分别对应ID为`name-input`、`studentID-input`、`gender`、`hometown-input`和`course-select`的表单元素。当用户点击提交按钮后,代码会将这些表单元素的值提取出来,然后使用jQuery的`append`方法添加一行到表格中。
制作一个学生选课表单,包括姓名,学号,电话,性别,籍贯,课程,使用jQuery完成如下操作: 1、籍贯至少设置三个省或直辖市,每一个省或直辖市至少设置三个区县,选择某个省或直辖市之后,显示对应下辖的区县,比如重庆市只显示重庆下辖的区县,不得显示其他省的区县(5分) 用户输入选课全部信息后(选修课至少选2门,选择课程如果没有达到2门,提交按钮不能使用),点击“选课”按钮,象示例行那样在表格下方插入新的一行。不能重复插入相同学号的记录。
好的,我可以为您提供相关帮助。首先,您需要使用HTML和CSS创建一个表单,并使用jQuery添加动态功能。
以下是一个示例表单的HTML代码:
```html
<form id="course-form">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" required><br>
<label for="id">学号:</label>
<input type="text" id="id" name="id" required><br>
<label for="phone">电话:</label>
<input type="tel" id="phone" name="phone" required><br>
<label for="gender">性别:</label>
<select id="gender" name="gender" required>
<option value="male">男</option>
<option value="female">女</option>
</select><br>
<label for="province">籍贯:</label>
<select id="province" name="province" required>
<option value="">请选择省份</option>
<option value="北京市">北京市</option>
<option value="上海市">上海市</option>
<option value="重庆市">重庆市</option>
</select><br>
<label for="city">区县:</label>
<select id="city" name="city" required>
<option value="">请选择区县</option>
</select><br>
<label for="courses">课程:</label><br>
<input type="checkbox" id="course1" name="courses" value="数学">数学<br>
<input type="checkbox" id="course2" name="courses" value="语文">语文<br>
<input type="checkbox" id="course3" name="courses" value="英语">英语<br>
<button type="submit" id="submit-btn" disabled>选课</button>
</form>
<table id="course-table">
<thead>
<tr>
<th>姓名</th>
<th>学号</th>
<th>电话</th>
<th>性别</th>
<th>籍贯</th>
<th>课程</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
```
接下来,您需要使用CSS样式来美化表单。
以下是一个示例CSS样式:
```css
form {
display: flex;
flex-direction: column;
width: 300px;
}
label {
margin-top: 10px;
}
select {
margin-bottom: 10px;
}
input[type="checkbox"] {
margin-top: 10px;
margin-bottom: 10px;
}
button {
margin-top: 10px;
}
#course-table {
margin-top: 20px;
border-collapse: collapse;
}
#course-table th, #course-table td {
border: 1px solid black;
padding: 5px;
}
```
现在,您需要使用jQuery来添加动态功能。首先,使用以下代码来创建一个对象数组,用于存储所有的省、市和区县信息:
```javascript
var provinces = [
{
name: "北京市",
cities: [
"东城区",
"西城区",
"朝阳区"
]
},
{
name: "上海市",
cities: [
"黄浦区",
"徐汇区",
"长宁区"
]
},
{
name: "重庆市",
cities: [
"渝中区",
"江北区",
"南岸区"
]
}
];
```
然后,创建一个函数来根据选择的省份更新区县的下拉列表:
```javascript
function updateCities() {
var province = $("#province").val();
var cities = provinces.find(p => p.name === province).cities;
var options = cities.map(c => "<option value='" + c + "'>" + c + "</option>");
$("#city").html("<option value=''>请选择区县</option>" + options.join(""));
}
```
最后,您需要创建一个事件处理函数来禁用或启用提交按钮,并在表格下方插入新的一行:
```javascript
$("#course-form").submit(function(e) {
e.preventDefault();
var name = $("#name").val();
var id = $("#id").val();
var phone = $("#phone").val();
var gender = $("#gender").val();
var province = $("#province").val();
var city = $("#city").val();
var courses = $("input[name='courses']:checked").map(function() {
return $(this).val();
}).get();
var record = {
name: name,
id: id,
phone: phone,
gender: gender,
province: province,
city: city,
courses: courses
};
var existingIds = $("td:nth-child(2)").map(function() {
return $(this).text();
}).get();
if(existingIds.includes(id)) {
alert("该学号已存在!");
} else if(courses.length < 2) {
alert("请选择至少两门课程!");
} else {
$("#submit-btn").prop("disabled", true);
$("tbody").append("<tr><td>" + name + "</td><td>" + id + "</td><td>" + phone + "</td><td>" + gender + "</td><td>" + province + " " + city + "</td><td>" + courses.join(", ") + "</td></tr>");
$("#course-form")[0].reset();
$("#city").html("<option value=''>请选择区县</option>");
}
});
```
最后,您需要使用以下代码来调用更新区县下拉列表的函数:
```javascript
$("#province").change(function() {
updateCities();
});
```
这样,您的学生选课表单就已经完成了!