内容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的更多相关文章

  1. art template前端模板引擎

    偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...

  2. art.template 循环里面分组。

    后台提供给我们一个数组,我们要用模版实现上面的格式输出怎么版呢? 下面就是解决方案: <h2>循环4个一组</h2> <script type="text/ht ...

  3. 利用art.template模仿VUE 一次渲染多个模版

    TypeScript代码 import template = require('art-template/lib/template-web'); interface TemplateBindConfi ...

  4. 利用art.template模仿VUE

    首先先看一下Typescript代码: import template = require('art-template/lib/template-web'); interface TemplateBi ...

  5. js 模板引擎 -Art Template

    一个例子涵盖所有: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...

  6. vue 实现modal

    本文只是作为练习弹出框,弹框内部的东西需要进行自定义添加,主要对更新,删除,新建 ,提示四种弹框进行实现,例子中只是简单的组件应用 Modal.vue文件 <template> <d ...

  7. VUE实现Studio管理后台(完结):标签式输入、名值对输入、对话框(modal dialog)

    一周的时间,几乎每天都要工作十几个小时,敲代码+写作文,界面原型算是完成了,下一步是写内核的HTML处理引擎,纯JS实现.本次实战展示告一段落,等RXEditor下一个版本完成,再继续分享吧.剩下的功 ...

  8. 6个强大的AngularJS扩展应用

    本文链接:http://www.codeceo.com/article/6-angularjs-extension.html本文作者:码农网 – 小峰 AngularJS现在非常热门,是Google推 ...

  9. 一步步编写avalon组件01:弹出层组件

    avalon2已经稳定下来,是时候教大家如何使用组件这个高级功能了. 组件是我们实现叠积木开发的关键. avalon2实现一个组件非常轻松,并且如何操作这个组件也比以前的avalon2,还是react ...

  10. AngularJS进阶(六)AngularJS+BootStrap实现弹出对话框

    AngularJS+BootStrap实现弹出对话框 参考资料: http://angular-ui.github.io/bootstrap/#/modal https://www.zybuluo.c ...

随机推荐

  1. Django后端项目----RESTful API

    一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...

  2. Eclipse导入MyEclipse创建的WEB项目无法识别的解决方案

    Eclipse导入MyEclipse创建的WEB项目无法识别的解决方案

  3. centos6安装多实例mysql

    centos 6.5,使用二进制安装多实例mysql 5.5.60 所需安装包mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz.ncurses-devel-5.7- ...

  4. 写给大忙人的nginx核心配置详解

    由于当前很多应该都是前后端分离了,同时大量的基于http的分布式和微服务架构,使得很多时候应用和不同项目组之间的系统相互来回调用,关系复杂.如果使用传统的做法,都在应用中进行各种处理和判断,不仅维护复 ...

  5. 写给大忙人的CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南

    现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效提高问题排查效率的.经过仔细的分析和研究 ...

  6. GitHub git 命令思维导图

    GitHub git 命令思维导图 拖动图片至浏览器地址栏松手,点击回车看高清大图.

  7. python简说(四)字符串

    s='.abc.abc.BCD,abc'# new_s = s.strip('.') #默认去掉字符串两边的空格和换行符# print(s.rstrip()) #去掉右边的# print(s.lstr ...

  8. topcoder srm 698 div1 -3

    1.定义重复串$S=T+T$,即$S$可以表示成一个串的叠加.给定一个串$s$,可以通过删除字符.修改字符.增加字符来使得其变为重复串.问最少的次数. 思路:首先将$s$分成个串$s_{0},s_{1 ...

  9. repo forall -c 用法【转】

    本文转载自:https://blog.csdn.net/u010164190/article/details/78332484 .repo forall命令 # repo forall -help # ...

  10. SpringBoot 优化内嵌的Tomcat

    在通过SpringBoot调用其它服务时,报错 org.springframework.web.client.ResourceAccessException: I/O error on POST re ...