学生管理之Bootstrap初体验
Bootstrap,来自 Twitter,是目前比较受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
Bootstrap使用起来非常方便,官方文档比较全面。我们以把学生管理系统中的【修改】使用模态框实现。过程如下:
一、导入bootstrap文件
导入bootstrap.css文件:
<link rel="stylesheet" href="/static/bootstrap.min.css">
导入bootstrap.js文件:
<script type="text/javascript" src="/static/jquery-1.12.4.js"></script>
<script type="text/javascript" src="/static/bootstrap.min.js"></script>
二、使用模态框
1、添加修改按钮(button)
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>标题</th>
<th>操作</th>
<th>修改</th>
</tr>
</thead>
<tbody>
{% for item in cls_list %}
<tr>
<td alex="id">{{ item.id }}</td>
<td alex="caption">{{ item.caption }}</td>
<td>
<a class="td-edit">编辑</a>| <a target="_blank" href="/edit_classes.html?nid={{ item.id }}">跳转编辑</a> | <a class="td-delete" href="/delete_classes.html?nid={{ item.id }}" onclick="return confirm('确定删除吗?');">删除</a>
</td>
<td>
<button type="button" class="btn btn-xs btn-primary" data-toggle="modal" data-target="#update-classes" data-caption="{{ item.caption }}" data-classid="{{item.id}}">修改</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
注意:data-target指定目标模态框,模态框的id必须设置为它。按钮里面的数据通过data-item方式传递。
2、添加模态框
<div class="modal fade" id="update-classes" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">修改信息</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group"> <input type="hidden" class="form-control" id="class-id" readonly="readonly">
</div> <div class="form-group">
<label for="caption" class="control-label">班级名</label>
<input type="text" class="form-control" id="caption">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" id="password-commit">更新</button>
</div>
</div>
</div>
</div>
注意:设定modal的id为update-classes,且设定class-id和caption,以便后续提取和回显数据。
三、使用ajax修改信息
<script>
jQuery(document).ready(function() {
jQuery('#update-classes').on('show.bs.modal', function (event) {
//show.bs.modal调用之后立即触发该事件。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。
var button = jQuery(event.relatedTarget); //触发button
var caption = button.data('caption'); //通过button获取班级名
var classid = button.data('classid'); //通过button获取班级ID
console.log(caption)
jQuery('#class-id').val(classid); //设置id=classid的值为从button获取的class-id
jQuery('#caption').val(caption); //设置id=caption值为从button获取的caption
}); jQuery('#password-commit').on('click', function(){
//id为password-commit的控件触发后,执行操作
var params = {};
params['classid'] = jQuery('#class-id').val(); //获取id=password-userid的值
params['caption'] = jQuery('#caption').val(); //获取id=password-manager-password的值
console.log(params); //控制台显示
//通过ajax更新用户密码
jQuery.post('/update_classes.html',
params,
function(data) {
console.log(data)
if(data['status']){
alert('班级信息更新成功!');
jQuery('#update-classes').modal('hide');
//window.location.replace('/update_classes.html');
window.location.reload();
} else {
alert(data['error']);
}
},
'json'
);
});
});
</script>
四、效果图

修改数据:



参考文献:
https://v3.bootcss.com/javascript/#modals
学生管理之Bootstrap初体验的更多相关文章
- Bower管理依赖库初体验
比如一开始我用了jquery-1.10.2.min.js,后来要用bootstrap,但bootstrap依赖的确实2.0.3版本的jquery,那又要下载一个去替换原来的,这样的事情发生多了就会觉得 ...
- Windows上包管理器之Chocolatey初体验
一直使用Windows开发项目,前段时间使用了一段时间的macOS,感觉使用homebrew和npm去安装一些常用的包真的是方便啊,最近又使用回Windows,由于电脑比较新,发现里面连Git都没有, ...
- Ignite缓存管理初体验
Ignite缓存管理初体验:ignite服务端配置,大家可以用参考官方进行配置(或者使用默认配置也可以). 本文中的ignite使用版本是1.7,与spring结合使用.maven依赖配置 ignit ...
- Helm Template初体验,方便管理多环境
我最新最全的文章都在南瓜慢说 www.pkslow.com,文章更新也只在官网,欢迎大家来喝茶~~ 1 简介 Helm作为一个优秀的包管理器,这部分我们之前已经做了介绍,文章如下: 用Helm部署Ku ...
- Spring boot缓存初体验
spring boot缓存初体验 1.项目搭建 使用MySQL作为数据库,spring boot集成mybatis来操作数据库,所以在使用springboot的cache组件时,需要先搭建一个简单的s ...
- Spring boot集成Rabbit MQ使用初体验
Spring boot集成Rabbit MQ使用初体验 1.rabbit mq基本特性 首先介绍一下rabbitMQ的几个特性 Asynchronous Messaging Supports mult ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- win7升win10,初体验
跟宿舍哥们聊着聊着,聊到最近发布正式版的win10,听网上各种评论,吐槽,撒花的,想想,倒不如自己升级一下看看,反正不喜欢还可以还原.于是就开始了win10的初体验了,像之前装黑苹果双系统一样的兴奋, ...
随机推荐
- windows下搭建vue开发环境
Vue.js是一套构建用户界面的 “渐进式框架”.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.2016 ...
- Redis学习---Redis操作之Set
Set操作,Set集合就是不允许重复的列表 sadd(name,values) name对应的集合中添加元素 --------------------------------------------- ...
- Python学习---IO的异步[asyncio模块(no-http)]
Asyncio进行异步IO请求操作: 1. @asyncio.coroutine 装饰任务函数 2. 函数内配合yield from 和装饰器@asyncio.coroutine 配合使用[固定格式 ...
- jQuery实现滚动时动态加载页面内容
有些网站的网页内容不是一次性加载完毕的,而是在鼠标向下滚动时动态加载的,这是怎么做到的呢?看下面代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- 【LGP4886 】快递员
题目 好秒啊,真是一道神仙的点分治 于是我们来一个暴力的\(O(nlog^2n)\)的暴力统计吧 考虑计算每一个点作为快递中心时的答案 我们考虑在这个点成为分治重心时计算这个贡献 把这个贡献分成两部分 ...
- Hive学习之路 (八)Hive中文乱码
Hive注释中文乱码 创建表的时候,comment说明字段包含中文,表成功创建成功之后,中文说明显示乱码 create external table movie( userID int comment ...
- PhotoSwipe-一个好用的图片放大缩小插件
通过GitHub 下载PhotoSwipe https://github.com/dimsemenov/PhotoSwipe 相关的库 <link rel="stylesheet&qu ...
- tp5简要
1.实例化模型 namespace app\web\controller; use think\Controller; use app\web\model\Member; use think\Load ...
- 博弈论之SG函数
Fibonacci again and again(http://acm.hdu.edu.cn/showproblem.php?pid=1848) Time Limit: 1000/1000 MS ( ...
- 腾讯云Mac图床插件
背景 随着博客越写越多,难免会遇到需要插入图片来说明的情况. 图床选择 首先调研了市面上的图床服务,本着稳定长期的目标,过滤掉了打一枪换一个地方的野鸡小网站,剩余比较靠谱的优缺点如下. 图床 优点 缺 ...