模拟学生信息管理系统(增删改查)

代码如下:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>模拟学生管理系统</title>

<style>

.search {

display: flex;

}

#xiala {

margin-right: 10px;

}

.caozuo {

text-align: center;

}

.search {

margin-top: 20px;

}

.caozuo {

margin-top: 20px;

}

#theads {

margin-bottom: 20px;

}

</style>

</head>

<body>

<!-- 增加 -->

<div class="add">

<h1>学生管理</h1>

<h2>增加</h2>

<form action="">

<table>

<tr>

<td>姓名:</td>

<td>

<input type="text" id="addName">

</td>

</tr>

<tr>

<td>年龄:</td>

<td>

<input type="text" id="addAge">

</td>

</tr>

<tr>

<td>性别:</td>

<td>

<input type="radio" name="addGender" value="男">男

<input type="radio" name="addGender" value="女">女

</td>

</tr>

<tr>

<td>

<input type="button" value="增加" id="addBtn">

</td>

</tr>

</table>

</form>

</div>

<!-- 修改 -->

<div class="revise">

<h2>修改</h2>

<form action="">

<table>

<tr>

<td>姓名:</td>

<td>

<input type="text" id="updateName">

</td>

</tr>

<tr>

<td>年龄:</td>

<td>

<input type="text" id="updateAge">

</td>

</tr>

<tr>

<td>性别:</td>

<td>

<input type="hidden" id="updateId">

<input type="radio" name="updateGender" value="男" id="man">男

<input type="radio" name="updateGender" value="女" id="female">女

</td>

</tr>

<tr>

<td>

<input type="button" value="修改" id="updateButton">

</td>

</tr>

</table>

</form>

</div>

<!-- 搜索 -->

<div class="search">

<select name="" id="searchType">

<option value="name">姓名</option>

<option value="age">年龄</option>

<option value="gender">性别</option>

</select>

<form action="">

<input type="text" id="searchText">

<input type="button" value="搜索" id="searchBtn">

</form>

</div>

<!-- 操作 -->

<div class="caozuo">

<form action="">

<table id="tables">

<thead id="theads">

<th>性别</th>

<th>姓名</th>

<th>年龄</th>

<th colspan="2" class="caozuo">操作</th>

</thead>

<tbody id="tbodys">

</tbody>

</table>

</form>

</div>

<script src="./util.js"></script>

<!--引入外部js文件,方便后面调用获取数据的方法-->

<script>

window.onload = function () {

// 1. 显示所有数据

function showAll(result) {

let tbodys = document.getElementById("tbodys");

let students = result || get("students", []); // 调用从localStorage中获取数据;有数据的话返回一个有数据的数组,没有数据返回一个空数组

let str = ""; // 声明一个空字符串,用于下面的字符串拼接

for (let i = 0; i < students.length; i++) {//将获取的数组遍历出数据

str += `<tr>

<td>${students[i].name}</td>

<td>${students[i].gender}</td>

<td>${students[i].age}</td>

<td>

<input type="button" value="修改" name="update" data-id =${students[i].id}>

<input type="button" name="remove" value="删除" data-id =${students[i].id}>

</td>

</tr>`; // 拼接字符串

}

tbodys.innerHTML = str; // 将拼接的字符串添加到tbodys标签里面

// 3. 删除学生数据

let removeBtns = document.querySelectorAll("#tbodys input[value=删除]");

for (let i = 0; i < removeBtns.length; i++) {

removeBtns[i].onclick = function () {

let students = get("students", []); // 获取所有的学生对象

for (let j = 0; j < students.length; j++) {

if (students[j].id == this.dataset.id) {

students.splice(j, 1);//删掉数组中的

save("students", students);//替换原来的数据,重新保存数据并显示出来

showAll();

return;

}

}

}

}

// 4. 修改学生数据 并显示在表单中

let updateId = document.getElementById("updateId");

let updateName = document.getElementById("updateName");

let updateAge = document.getElementById("updateAge");

let updateGender = document.getElementsByName("updateGender");

let updateBtns = document.querySelectorAll("#tbodys input[value=修改]");//获取修改所有的修改按钮,得到一个伪数组

// console.log(updateBtns);

for (let i = 0; i < updateBtns.length; i++) { //循环遍历伪数组

updateBtns[i].onclick = function () { //给每个修改按钮绑定点击事件

let students = get("students", []); // 获取所有的学生对象

for (let j = 0; j < students.length; j++) { //循环遍历学生对象

if (students[j].id == this.dataset.id) {

updateId.value = students[j].id;

updateName.value = students[j].name;

updateAge.value = students[j].age;

// document.querySelector(`[name=updateGender][value=${students[j]}.gender].checked=true`);

if (students[j].gender == "男") {

let man = document.getElementById("man");

man.checked = true;

} else if (students[j].gender == "女") {

let female = document.getElementById("female");

female.checked = true;

}

}

}

}

}

let updateButton = document.getElementById("updateButton");

// console.log(updateButton);

updateButton.onclick = function () { // 给修改按钮绑定点击事件

let students = get("students", []); // 获取所有的学生对象

// console.log(students);

for (let i = 0; i < students.length; i++) { // 遍历所有的学生对象

students[i].name = updateName.value; //

students[i].age = updateAge.value;

// students[i].gender = updateGender.value;

// let gender;

for (let j = 0; j < updateGender.length; j++) {

if (updateGender[j].checked) { //判断数据的特殊属性checked是否为true

students[i].gender = updateGender[j].value;

}

}

save("students", students);

showAll();

return;

}

}

}

showAll();// 调用显示所有数据函数

// 生成唯一的id值

function generateId() {

// 获取所有的学生对象

let students = get("students", []);

// 默认id值为0

let id = 0;

for (let i = 0; i < students.length; i++) {

if (students[i].id > id) {// 判断学生对象的id值与变量id的大小为真的话

id = students[i].id;

}

}

return ++id;

}

// 2. 增加学生数据

let addBtn = document.getElementById("addBtn");

addBtn.onclick = function () {

let id = generateId();

let addName = document.getElementById("addName");

let addAge = document.getElementById("addAge");

let addGender = document.getElementsByName("addGender");// 通过name属性获取元素节点,返回一个伪数组

let gender;

for (let i = 0; i < addGender.length; i++) {//遍历addGender数组

if (addGender[i].checked) { //判断数据的特殊属性checked是否为true

gender = addGender[i].value;

}

}

// console.log(gender);

// 获取所有的学生对象

let students = get("students", []);

students.push({

id: id,

name: addName.value,

age: addAge.value,

gender: gender

});

// 将添加的数据保存到localStorage

save("students", students);

showAll();

}

// 5. 搜索数据并显示

let searchType = document.getElementById("searchType"); // 获取下拉列表元素

let searchText = document.getElementById("searchText"); // 输入框内容

let searchBtn = document.getElementById("searchBtn"); // 搜索按钮

searchBtn.onclick = function () {

let type = searchType.value; // 姓名年龄性别的value值

let text = searchText.value; // 用户输入的value值

let students = get("students", []);

let result = [];

for (let i = 0; i < students.length; i++) { //循环遍历学生对象

if (students[i][type].search(text) >= 0) { // 模糊查询

result.push(students[i]);

}

}

showAll(result);

}

}

</script>

</body>

</html>

原文地址:https://www.cnblogs.com/date150219-/p/9194896.html

时间: 2024-08-19 12:40:04

模拟学生信息管理系统(增删改查)的相关文章

MVC实例及用三层架构实现对学生信息的增删改查

一.MVC设计模式实例 M层 Login.java package org.entity; public class Login { private int id; private String uname; private String upwd; public Login() { } public Login( String uname, String upwd) { this.uname = uname; this.upwd = upwd; } public Login(int id, S

Redis 笔记与总结7 PHP + Redis 信息管理系统(用户信息的增删改查)

1. PHP 连接 Redis 访问 redis 官方网站的 client 栏目:http://www.redis.io/clients#php,可以获取 redis 的 php 扩展. 其中 phpredis 扩展比较稳定,功能也比较全,属于一个第三方扩展,但是已经被 PHP 官方授权,它的方法名和客户端下的方法名基本一致.github 地址:https://github.com/phpredis/phpredis,方法在这里也能查得到. ① 下载 phpredis 的源代码包,解压.配置.编

ASP.NET Core 打造一个简单的图书馆管理系统(七)外借/阅览图书信息的增删改查

前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?view=aspnetcore-2.1&tabs=windows <Pro ASP.NET MVC 5>.<锋利的 jQuery> 此系列皆使用 VS2017+C# 作为开发环境.如果有什么问题或者意见欢迎在留言区进行留言.

weiyi通讯录(二)获取联系人信息包括头像 增删改查功能,

看了下第一期的访问量,100都没有可能很多人不需要吧,之前跟过一个大神学做项目,他都不吧核心代码告诉我,感觉没有一点分享精神,所以我就自己做.没跟他一起做 这里把上次的代码分享一下 我这里分享的跟我博客里面可能不一样因为我已经做完第一个模块了,代码就没有分开了 第一期的代码地址:http://download.csdn.net/detail/u010982856/8232855 分享的是类似的代码 基本跟我的是一样.如果需要的联系人我把 或者加入我的交流群吧 -----------欢迎加入交流群

java测试类调用LDAP服务器客户端信息实行增删改查

如下是我自写的java测试类调用客户端配置好的用户信息: package com; import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingEnumeration; import javax.naming.NamingException; impor

6.实现struts2+hibernate实现学生列表的增删改查

1.dao 2.daoimpl 3.action 4.struts.xml(实现页面跳转)

使用python实现一个简单的学生信息管理系统

最近公司搬办公室,杂七杂八的事情比较多,又碰上业务要上线了...很多事情堆到一起来做,导致最近没什么时间学习,写博客.前两天胜利日放假,把以前用java写的学生信息管理系统用python重新写了一遍,以便于帮助python的学习. 好了,废话不多说,首先进行需求分析,下面是我根据需求画的系统结构图: 纯手工制图.....画的不好敬请谅解.从上图来看,整个系统分为main,add,delete,change,select,sort,io,print共八个模块,实现了对学生信息的增删改查排的功能,将

JavaWeb 增删改查功能

1.今天来写一个简单的增删改查功能,这个项目还是接着在昨天写的 --JavaWeb实现简单登录注册-- 来写的. 登录成功进来后对学生信息的增删改查 好了,直接贴上今天写的代码 src文件下的代码: jsp页面: 数据库创建语句: 1 CREATE TABLE nanfeng.student ( 2 stu_id INT NOT NULL AUTO_INCREMENT, 3 stu_name varchar(100) NULL, 4 stu_sex varchar(100) NULL, 5 st

python练习——moudule02——员工信息增删改查

#作业名称:员工信息的增删改查 #作业需求: 1.可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * from staff_table where dept = "IT" select * from staff_table where enroll_date like "2013" 查到的信息,打印后,最后面还要显示查到的条数 2.可创建新员工纪录,以phon