modal结合art-template
内容div
<div id="modal-cont"></div>
模板tpl
<script id="modal-tpl" type="text/template">
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<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">
<table class="table table-striped">
<thead>
<tr>
<th>uid</th>
<th>姓名</th>
<th>手机号</th>
<th>状态</th>
<th>申请时间</th>
<th>更新时间</th>
<th>操作</th>
</tr>
</thead>
<tbody id="modal_tbody">
{{ each data }}
<tr>
<td>{{ $value.uid }}</td>
<td>{{ $value.name }}</td>
<td>{{ $value.telephone }}</td>
<td id="apply_status_{{ $value.id }}">
{{ if $value.apply_status == 0 }}
申请中
{{ else if $value.apply_status == 1 }}
已同意
{{ else if $value.apply_status == 2 }}
已拒绝
{{ /if }}
</td>
<td>{{ $value.create_time }}</td>
<td>{{ $value.update_time }}</td>
<td id="apply_opt_{{ $value.id }}">
{{ if $value.apply_status == 0 }}
<a href="javascript:;" data-id="{{ $value.id }}" data-student_id="{{ $value.student_id }}" class="audit-apply">审核</a>
{{ /if }}
</td>
</tr>
{{ /each }}
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">关闭
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</script>
获取数据
$(".info_apply").on('click',function () {
let student_id = $(this).parent().data('id');
// 获取申请信息
$.ajax({
type:'POST',
url:'ajax_get_apply',
data: {student_id: student_id},
dataType:'json',
success:function(data){
if(data.errno == 0){
let html = template('modal-tpl', {data:data.data});
$('#modal-cont').html(html);
$("#myModal").modal("show");
}else{
alert(data.errdesc);
return false;
}
}
});
});
操作审核,异步处理
// 页面加载好之后,添加点击事件
$(document).on("click",".audit-apply",function(){
let apply_id = $(this).data('id');
let student_id = $(this).data('student_id');
layer.confirm('是否审核通过?', {
btn: ['通过','不通过'] //按钮
}, function(){
// ajax设置通过
$.ajax({
type:'POST',
url:'ajax_audit_apply',
data: {apply_id: apply_id,pass:1},
dataType:'json',
success:function(obj){
layer.msg(obj.errdesc);
$("#apply_status_"+apply_id).text('已同意');
$("#apply_opt_"+apply_id).text('');
$("#student_help_status_"+student_id).html('<span class="text-success">已帮助</span>');
layer.close();
}
});
}, function(){
// ajax设置通过
$.ajax({
type:'POST',
url:'ajax_audit_apply',
data: {apply_id: apply_id,pass:2},
dataType:'json',
success:function(obj){
layer.msg(obj.errdesc);
$("#apply_status_"+apply_id).text('已拒绝');
$("#apply_opt_"+apply_id).text('');
$("#student_help_status_"+student_id).html('<span class="text-primary">未帮助</span>');
layer.close();
}
});
});
})
modal结合art-template的更多相关文章
- art template前端模板引擎
偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...
- art.template 循环里面分组。
后台提供给我们一个数组,我们要用模版实现上面的格式输出怎么版呢? 下面就是解决方案: <h2>循环4个一组</h2> <script type="text/ht ...
- 利用art.template模仿VUE 一次渲染多个模版
TypeScript代码 import template = require('art-template/lib/template-web'); interface TemplateBindConfi ...
- 利用art.template模仿VUE
首先先看一下Typescript代码: import template = require('art-template/lib/template-web'); interface TemplateBi ...
- js 模板引擎 -Art Template
一个例子涵盖所有: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- vue 实现modal
本文只是作为练习弹出框,弹框内部的东西需要进行自定义添加,主要对更新,删除,新建 ,提示四种弹框进行实现,例子中只是简单的组件应用 Modal.vue文件 <template> <d ...
- VUE实现Studio管理后台(完结):标签式输入、名值对输入、对话框(modal dialog)
一周的时间,几乎每天都要工作十几个小时,敲代码+写作文,界面原型算是完成了,下一步是写内核的HTML处理引擎,纯JS实现.本次实战展示告一段落,等RXEditor下一个版本完成,再继续分享吧.剩下的功 ...
- 6个强大的AngularJS扩展应用
本文链接:http://www.codeceo.com/article/6-angularjs-extension.html本文作者:码农网 – 小峰 AngularJS现在非常热门,是Google推 ...
- 一步步编写avalon组件01:弹出层组件
avalon2已经稳定下来,是时候教大家如何使用组件这个高级功能了. 组件是我们实现叠积木开发的关键. avalon2实现一个组件非常轻松,并且如何操作这个组件也比以前的avalon2,还是react ...
- AngularJS进阶(六)AngularJS+BootStrap实现弹出对话框
AngularJS+BootStrap实现弹出对话框 参考资料: http://angular-ui.github.io/bootstrap/#/modal https://www.zybuluo.c ...
随机推荐
- Django框架----ORM数据库操作注意事项
1.多对多的正向查询 class Class(models.Model): name = models.CharField(max_length=32,verbose_name="班级名&q ...
- sql server 触发器的简单用法
触发器 -- 一下写的都是我对触发器的理解 当在执行insert . delete . 等操作的时候 随便要做一些额外的操作, 比如在添加的时候就会将新添加的数据存到inserted表中 写个实例 ...
- OpenGL: 实现立体显示
https://blog.csdn.net/augusdi/article/details/19922295 立体显示原理:设没有立体显示的模型视图矩阵ModelView为Mv,投影矩阵为Mp,则.物 ...
- 通过数组和枚举简化GPIO操作编码(转)
源: 通过数组和枚举简化GPIO操作编码
- CE教程
https://www.52pojie.cn/thread-726510-1-1.htmlhttps://www.52pojie.cn/thread-726154-1-1.html https://w ...
- LSTM算法原理理解
神经网络 模拟人类大脑神经网络结构,每个神经元和其他的神经元相互连接,当它兴奋的时候会向相连的神经元发送化学物质,从而改变神经元的电位,当神经元的电位超过阈值,它会被激活,向其他神经元发送化学物质.其 ...
- 您的windows许可证即将过期 win10的解决办法
出现这个错误是因为安装的版本不是正版系统,每隔一段时间需要激活 这次激活也费了一些时间,记录如下希望能对大家有所帮助 (1)首先可以查看自己的许可什么什么时候会过期 windows+R调出命令运行窗口 ...
- php 微信支付V3 APP支付
前言:微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版.V3版的微信支付没有paySignKey参数. php 微信支付类 <?php class We ...
- java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy解决方法
今天集成es-job到公司的框架时,启动时出现上述错误 java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy at storm. ...
- netty支持的各种socketchannel实现及比较
性能上从低到高如下: OioSocketChannel:传统,阻塞式编程. NioSocketChannel:select/poll或者epoll,jdk 7之后linux下会自动选择epoll. E ...