问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么用bootstrap完成增删改查

发布网友 发布时间:2022-04-23 09:42

我来回答

2个回答

热心网友 时间:2022-04-19 22:46

描述:利用原生js + bootstrap 实现基本的增删改查功能:
包含两个文件(index.jsp 和 index.js)

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Bootstrap -->
<link href="resource/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="resource/bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
<title>JS框架学习</title>

</head>
<body onload="loadUserDatas()">
<div class="container">
<table class="table" id="table">
<caption><h2>迈睿练习一</h2></caption>
<caption>
<button type="button" class="btn btn-info" id="user_add" data-toggle="modal"
data-target="#myModal" onclick="optionUserData(this);">新增</button>
<button type="button" class="btn btn-info" id="user_delete" onclick="optionUserData(this);">删除</button>
<button type="button" class="btn btn-info" id="user_edit" data-toggle="modal"
data-target="#myModal" onclick="optionUserData(this);">编辑</button>
<button type="button" class="btn btn-info" id="user_find" onclick="optionUserData(this);">查询</button>
<input type="text" id="s_code" placeholder="按工号查询" style="width: 80px;">
<input type="text" id="s_userName" placeholder="按姓名查询" style="width: 80px;">
<input type="text" id="s_all" placeholder="全文搜索" style="width: 80px;">
</caption>
<thead>
<tr>
<th>序号</th>
<th>工号</th>
<th>姓名</th>
<th>性别</th>
<th>密码</th>
<th>年龄</th>
<th>出生日期</th>
</tr>
</thead>
<tbody id="tbody">
</tbody>
</table>

<!-- 模态框(Modal) -->
<div class="modal hide" id="myModal" role="dialog" >
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title" id="myModalLabel">
新增用户
</h4>
</div>
<div class="modal-body" id="modal-body">
<label for="name">工号:</label>
<input type="text" class="form-control" id="m_code" placeholder="请输入工号">
<label for="name">姓名:</label>
<input type="text" class="form-control" id="m_userName" placeholder="请输入姓名">
<label for="name">性别:</label>
<input type="text" class="form-control" id="m_sex" placeholder="请输入性别">
<label for="name">密码:</label>
<input type="text" class="form-control" id="m_passWord" placeholder="请输入密码">
<label for="name">年龄:</label>
<input type="text" class="form-control" id="m_age" placeholder="请输入年龄">
<label for="name">出生日期:</label>
<input type="text" class="form-control" id="m_birthday" placeholder="请输入出生日期">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">保存
</button>
<button type="button" class="btn btn-primary">提交更改</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>

<script type="text/javascript" src="resource/jquery/jquery.js"></script>
<script type="text/javascript" src="resource/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="index.js"></script>
</body>
</html>//存放所有用户
var users = users || {};
//操作类型
var operateType = "";
//存放搜索对象
var searchUsers = searchUsers || {};
//用户构造方法
var User = {
Create:function(code,userName,sex,passWord,age,birthday){
this.code = code;
this.userName = userName;
this.sex = sex;
this.passWord = passWord;
this.age = age;
this.birthday = birthday;
},
//添加用户
addUserData:function(){
if(this.code != ""){
users[this.code] = this;
}
},
//删除用户
deleteUserData:function (){
for(var i in users){
if(this.code == users[i].code){
delete users[i];
}
}
},
//编辑用户
editUserData:function(){
for(var i in users){
if(this.code == users[i].code){
users[i].userName = this.userName;
users[i].sex = this.sex;
users[i].passWord = this.passWord;
users[i].birthday = this.birthday;
users[i].age = this.age;
}
}
},
//查找用户
findUserData:function(data){

for(var i in users){
if(data.code.indexOf(users[i].code) >= 0 ||
data.userName.indexOf(users[i].userName) >= 0){
searchUsers[users[i].code] = users[i];
refreshDatas(searchUsers);
}
}
}
};

function New(aClass,aParams){
function new_(){
aClass.Create.apply(this,aParams);
}
new_.prototype = aClass;
return new new_();
}

//bootstrap模态框事件
$(‘#myModal‘).on(‘hide.bs.modal‘, function () {
// 执行一些动作...
var inputElements = this.getElementsByTagName("input");
var userArr = [];
for(var i=0;i<inputElements.length;i++){
userArr[i] = inputElements[i].value;
}
var user = New(User,userArr);
//添加操作
if(operateType == "add"){
user.addUserData();
refreshDatas(users);
//编辑操作
}else if(operateType == "edit"){
user.editUserData();
refreshDatas(users);
}
});

/**
* 首次加载页面执行方法
*/
function loadUserDatas(){
var userArray = initUserDatas();
addRowData(userArray);
refreshDatas(users);

}
/**
* 初始化用户数据
*/
function initUserDatas(){
var initUser1 = New(User,["1001","小兰","女","1234","13","1991-1-1"]);
var initUser2 = New(User,["1002","小毅","男","1234","13","1991-1-1"]);
var initUser3 = New(User,["1003","兰花","女","1234","13","1991-1-1"]);
var initUser4 = New(User,["1004","兰儿","女","1234","13","1991-1-1"]);
users[initUser1.code] = initUser1;
users[initUser2.code] = initUser2;
users[initUser3.code] = initUser3;
users[initUser4.code] = initUser4;
return users;
}

/**
* 往表格添加一行html数据
*/
function addRowData(datas){
var tbodyElement = document.getElementById("tbody");
var html = "";
var color = "warning";
var flag = true;
for(var i in datas){
if(flag){
color = "info";
}else{
color = "warning";
}
html = html + "<tr class=‘"+ color +"‘><td style=‘width:30px;‘><input type=‘checkbox‘></td><td id=‘code‘>"
+ datas[i].code +"</td><td id=‘userName‘>"
+ datas[i].userName +"</td><td id=‘sex‘>"
+ datas[i].sex +"</td><td id=‘passWord‘>"
+ datas[i].passWord +"</td><td id=‘age‘>"
+ datas[i].age +"</td><td id=‘birthday‘>"
+ datas[i].birthday +"</td>"
+"</tr>";

flag = !flag;//颜色转换
}
tbodyElement.innerHTML = html;
}
/**
* 刷新用户数据
*/
function refreshDatas(datas){
addRowData(datas);
};

/**
* 收集一行数据
*/
function collectionRowData(param){
var tdElement = param.getElementsByTagName("td");
var userArr = [];
for(var i=1;i<tdElement.length;i++){
var temp = tdElement[i].textContent;
userArr[i-1] = temp;
}
var user = New(User,userArr);
return user;
}
/**
* 用户操作方法
*/
function optionUserData(param){
//获得操作类别
var optionType = param.getAttribute("id");
if(optionType == "user_add"){
operateType = "add";
}else if(optionType == "user_delete"){
var checkRowData = isCheckedData();
var user = collectionRowData(checkRowData);
user.deleteUserData();
refreshDatas(users);
}else if(optionType == "user_edit"){
operateType = "edit";
var checkRowData = isCheckedData();
var user = collectionRowData(checkRowData);
var modal_body = document.getElementById("modal-body");
var inputElements= modal_body.getElementsByTagName("input");
for(var i=0;i<inputElements.length;i++){
var temp = inputElements[i].id.substring(2,inputElements[i].id.length)
inputElements[i].value = user[temp];
}
}else if(optionType == "user_find"){
var s_code = document.getElementById("s_code").value;
var s_userName = document.getElementById("s_userName").value;
var s_all= document.getElementById("s_all").value;
//搜索数据
var s_data = s_data || {};
s_data.code = s_code;
s_data.userName = s_userName;
s_data.all = s_all;
var user = New(User,[]);
user.findUserData(s_data);
}else{

}
}

/**
* 是否选中数据,返回选中数据的行
*/
function isCheckedData(){
var tbodyElement =document.getElementById("tbody");
var trElements = tbodyElement.getElementsByTagName("tr");
var flag = false;
for(var i=0;i<trElements.length;i++){
var inputElement = trElements[i].getElementsByTagName("input")[0];
if(inputElement.checked){
flag = true;
return trElements[i];
}
}
if(!flag){
alert("请选择一条记录!");
$(‘#myModal‘).unbind("on");
}
}

热心网友 时间:2022-04-20 00:04

点控件可以的,在对应登录名的那边设置下,把DB_OWNER的选项去掉,还可以可以针对该用户精确到哪张表可以增删该查
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“泛览周王传”的出处是哪里 避事的意思是什么 怠息的意思是什么 “偷闲来此一嚬呻”的出处是哪里 怠息意思和来源是什么 客厅中间沙发旁旁边放什么 客厅沙发旁边放什么合适 沙发左右摆什么位置 淘宝网无法注册邮箱验证 谁能帮我注册一个谷歌帐号,我一直注册不成功,淘宝上也买不到,在线等... CPK值如何计算? bootstrap的进度条怎么用 iPhoneXS用A12芯片,配备的运存是DDR4,问题是它的运存频率是多少?_百度... 小米手机怎么打开悬浮窗口?‘?在哪设置?? 最简便的cpk计算公式 bootstrap怎么做tab标签页 小米4的悬浮窗在哪 为什么华为手机桌面循环不了? excel格式的CPK计算公式是什么? 如何使用Bootstrap快速开发Web前端 i912900k为什么比i910980xe便宜那么多? 求cpk计算过程详细一些谢谢大神 bootstrap.css.map 这个文件是干嘛用的呢? 感觉苹果的a12处理器和a13没有多大差距, A12处理器,如果是新的话,能... 身份高的动物,猜一生肖 i9出到第几代了 天字出头一字高,猜生肖 华为手机长按桌面空白处没有反应怎么办? CPK值如何计算 bootstrap的span4 class无效了么 cpk的计算公式 华为手机一直停在开机画面,进不了桌面,怎么办? 什么样的女孩子是有个性的女孩子? 小米4手机如何开启有道词典悬浮窗? 火狐浏览器支持Bootstrap吗?会不会有问题? 什么叫个性?有个性的女孩是怎么样的? 求男主傲娇易炸毛,萌萌的古言小说 CPK最简单的计算公式是什么? 苹果a12比a8强多少? 小米4怎么打开酷狗悬浮窗 桌面歌词 详细!!! 求推荐类似人设的小说…男主傲娇别扭爱吃醋易炸毛 女主对内温柔忠犬对外高冷看似柔弱实则坚强不拖沓 的 华为手机打不开桌面,也不能关机,也不能重启,怎么办 a12相当于联发科多少 i910900k和10900f区别? 直接bootstrap之类的UI框架真的比自己用传统的css和js写好么 华为手机开机后没有桌面显示? 求小说!!欢喜冤家类型的 古言 男主傲娇别扭易炸毛 脸红 有点孩子气... 个性强的女生有什么特点? CPK、UCL、LCL计算公式是什么? 求男主傲娇别扭易炸毛,幼稚又忠犬的小说,不虐的