html页面的代码(注意:引入layui相关的css):

<div class="layui-upload" style="margin-left: 130px">
<button type="button" class=" layui-btn" id="choiceList"><i class="iconfont icon-e645"></i>选择多文件</button>
<div class="layui-upload-list layui-upList-minHeight">
<table class="layui-table">
<thead>
<tr>
<th>文件名</th>
<th>大小</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody id="demoList">
<tr id="upload">
<td>xxx.txt</td>
<td>xxxkb</td>
<td>等待上传</td>
<td><button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button><button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" disabled>删除</button></td>
</tr>
</tbody>
</table>
</div>
<!-- <div class="layui-form-item layui-btn-Center">
<div class="layui-input-block text-right">
<button type="button" class="layui-btn layui-btn-xs" id="choiceListAction">开始上传</button>
<button class="btn layui-btn layui-btn-xs layui-btn-primary js_close" id="quXiao" type="button">取消</button>
</div>
</div> --> </div>

  js的编写(引入layui相关的js):

layui.use(['upload','form','layer','laydate'], function(){
var $ = layui.jquery
,upload = layui.upload
,form = layui.form; //多文件列表示例
$(function() {
var uploadFile = {
init: function() {
this.upload();
},
//上传文件
upload: function() {
layui.use('upload', function() {
var $ = layui.jquery,
upload = layui.upload;
//多文件列表示例
var demoListView = $('#demoList'),
uploadListIns = upload.render({
elem: '#choiceList',
url: '__PUBLIC__/static/file/uploadFile',
accept: 'file',
multiple: true,
auto: true,
bindAction: '#choiceListAction',
choose: function(obj) {
var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
//读取本地文件
obj.preview(function(index, file, result) {
if($('#demoList tr td').eq(0).text() == 'xxx.txt') {
$('#demoList').empty();
}
var tr = $(['<tr id="upload-' + index + '">',
'<td>' + file.name + '</td>',
'<td>' + (file.size / 1014).toFixed(1) + 'kb</td>',
'<td>等待上传</td>',
'<td>',
'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>',
'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>',
'</td>',
'</tr>'
].join('')); //单个重传
tr.find('.demo-reload').on('click', function() {
obj.upload(index, file);
}); //删除
tr.find('.demo-delete').on('click', function() {
delete files[index]; //删除对应的文件
tr.remove();
uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
});
demoListView.append(tr);
});
},
done: function(res, index, upload) {
if(res.code == 0) { //上传成功
var tr = demoListView.find('tr#upload-' + index),
tds = tr.children();
tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
tds.eq(3).html(''); //清空操作
return delete this.files[index]; //删除文件队列已经上传成功的文件 }
this.error(index, upload, res.msg);
},
error: function(index, upload, msg) {
var tr = demoListView.find('tr#upload-' + index),
tds = tr.children();
tds.eq(2).html('<span style="color: #FF5722;">' + msg + '</span>');
tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
}
});
});
} }
uploadFile.init();
}); });

  效果图

最新文章

  1. 阿里云accessKey如何创建?~ 2015.08.25
  2. 【BZOJ】4245: [ONTAK2015]OR-XOR
  3. tomcat端口号被占用
  4. D3.js 学习( 一)
  5. jvm三的三种类加载器
  6. HDU 5734 Acperience(返虚入浑)
  7. Aspose&#160;强大的服务器端 excel word ppt pdf 处理工具
  8. c#获取枚举
  9. Java: constructor 构造代码块
  10. Android(java)学习笔记230:服务(service)之绑定服务的细节
  11. AOP入门(转)
  12. DevExpress中GridControl的重新绑定数据后如何刷新 (转)
  13. Codeforces Round #450 (Div. 2) C. Remove Extra One
  14. SHA1算法原理
  15. 【SPL标准库专题(2)】 Iterator
  16. thinkphp结合layui上传视频
  17. css position定位详解
  18. ASP.NET Core依赖注入
  19. hdu 5078(2014鞍山现场赛 I题)
  20. mysql创建数据库和删除数据库

热门文章

  1. 在YII2中使用memcached
  2. go开发和运行环境的配置
  3. Kinect安装与配置(openNI2)
  4. 杭电2053 WA
  5. Ad_hoc_polymorphism 备份
  6. CGContext与上下文
  7. 优动漫PAINT个人版和EX版本差异
  8. 【转】Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
  9. 洛谷P1231 教辅的组成 最大流
  10. 【转载】springboot注解