遇到的问题:
初始化时能正常打开上传,但点击查询后上传按钮失效
正确代码如下:
if(paramPage>0){
var curr=paramPage;
}else{
var curr = 1;
}
var pageSize = 10;
$(function() {
find(curr);
})
function find(currs) {
if(currs!=null){
curr = currs;
}
var examType = $("#examType").val();
var year = $("#year").val();
var term = $("#term").val();
$.ajax({
url : ctx + "/ScoreRegistration/queryCourse",
type : "post",
data : {
"pageNum" : curr,
"pageSize" : pageSize,
"year" : year,
"term" : term,
"examType":examType
},
dataType : "json",
async : true,
contentType : "application/x-www-form-urlencoded",
success : function(result) {
if(result.code!="-1"){
$("#no_data").hide();
$("#table_div").show();
$("#t_body_class").html("");
var courseList = result.data.list;
for (var i = 0; i < courseList.length; i++) {
var str = "";
var inde = ((10*(curr-1))+i+1);
str += "<tr><td>"+((10*(curr-1))+i+1)+"</td>"
str += "<td>"+courseList[i].grade+"</td>";
str += "<td title="+courseList[i].yearTerm+">"+courseList[i].yearTerm+"</td>";
str += "<td title="+courseList[i].className+">"+courseList[i].className+"</td>";
str += "<td title="+courseList[i].courseName+">"+courseList[i].courseName+"</td>";
str += "<td title="+courseList[i].teacherName+">"+courseList[i].teacherName+"</td>";
str += "<td title="+courseList[i].auditStatus+">"+courseList[i].auditStatus+"</td>";
if(courseList[i].auditStatus=='未录入'){
str += "<td>" +"<input type='button' value='录入' class='my-button' οnclick='typeIn("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+",\""
+courseList[i].majorName+"\",\""+courseList[i].deptName+"\",\""+courseList[i].courseName+"\")'>"
+"<button type='button' class='layui-btn layui-btn-primary' id='upload_excel_"+inde+"'><i class='layui-icon layui-icon-upload-circle'></i></button>";
}else if(courseList[i].auditStatus=='录入中'){
str += "<td>" +"<input type='button' value='录入' class='my-button' οnclick='typeIn("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+",\""
+courseList[i].majorName+"\",\""+courseList[i].deptName+"\",\""+courseList[i].courseName+"\")'>"+"<input type='button' value='提交' class='my-button' οnclick='submitScoreAudit("+courseList[i].id+","+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+")'>";
}
str+="</td></tr>";
$("#t_body_class").append(str);
loadLayerEL(inde,courseList[i].grade,year,term,courseList[i].courseId,courseList[i].teacherId,courseList[i].classId,courseList[i].majorId,courseList[i].deptId,courseList[i].majorName,courseList[i].deptName,courseList[i].courseName)
}
}else{
$("#no_data").show();
$("#table_div").hide();
}
layui.use(['laypage', 'layer'], function(){
var laypage = layui.laypage,
layer = layui.layer;
laypage({
cont:'demo7',
pages : result.data.pages,
skip : true,
curr : curr,
jump : function(obj, first) {
newpage = obj.curr;
if (!first) {
find(newpage);
}
}
});
})
}
});
}
/**
* 加载layer的依赖
* @returns
*/
var files = null;
function loadLayerEL(inde,grade,year,term,courseId,teacherId,classId,majorId,deptId,majorName,deptName,courseName){
var params = {
"grade":grade,
"year":year,
"term":term,
"courseId":courseId,
"teacherId":teacherId,
"classId":classId,
"examType":examType,
"majorId":majorId,
"deptId":deptId,
"page":curr
}
layui.use(['element','upload','form'], function(){
var element = layui.element;
var $ = layui.jquery,upload = layui.upload;
/*上传文件*/
upload.render({ //允许上传的文件后缀
elem: '#upload_excel_'+inde,
url: ctx+'/ScoreRegistration/importScholarStudent',
accept: 'file', //普通文件,
data: params,
auto:true,//是否自动上传
exts: 'xls|xlsx', //只允许上传excel文件
progress: function(n, elem){
var percent = n + '%' //获取进度百分比
element.progress('#upload_excel_'+inde, percent);
console.log(elem);
},
done: function(res){//上传完成后回调
deletefile();
if(res.msg=="请求上传接口出现异常"){
layer.msg("请检查上传表格中数据");
return false;
}else{
layer.msg(res.msg,{time:5000});
find(1);
}
},
choose:function(obj){
deletefile();
//将每次选择的文件追加到文件队列
files = obj.pushFile();
}
});
});
}
/**
* 清除文件
* @returns
*/
function deletefile(){
if(null != files){
for(var i = 0 ; i<Object.keys(files).length;i++){
delete files[Object.keys(files)[i]];
}
files = null;
}
}
分析错误代码:
$.ajax({
url : ctx + "/ScoreRegistration/queryCourse",
type : "post",
data : {
"pageNum" : curr,
"pageSize" : pageSize,
"year" : year,
"term" : term,
"examType":examType
},
dataType : "json",
async : true,
contentType : "application/x-www-form-urlencoded",
success : function(result) {
if(result.code!="-1"){
$("#no_data").hide();
var courseList = result.data.list;
var str = "";
for (var i = 0; i < courseList.length; i++) {
var inde = ((10*(curr-1))+i+1);
str += "<tr><td>"+((10*(curr-1))+i+1)+"</td>"
str += "<td>"+courseList[i].grade+"</td>";
str += "<td title="+courseList[i].yearTerm+">"+courseList[i].yearTerm+"</td>";
str += "<td title="+courseList[i].className+">"+courseList[i].className+"</td>";
str += "<td title="+courseList[i].courseName+">"+courseList[i].courseName+"</td>";
str += "<td title="+courseList[i].teacherName+">"+courseList[i].teacherName+"</td>";
str += "<td title="+courseList[i].auditStatus+">"+courseList[i].auditStatus+"</td>";
if(courseList[i].auditStatus=='未录入'){
str += "<td>" +"<input type='button' value='录入' class='my-button' οnclick='typeIn("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+",\""
+courseList[i].majorName+"\",\""+courseList[i].deptName+"\",\""+courseList[i].courseName+"\")'>"
+"<button type='button' class='layui-btn layui-btn-primary' id='upload_excel_"+inde+"'><i class='layui-icon layui-icon-upload-circle'></i></button>";
}else if(courseList[i].auditStatus=='录入中'){
str += "<td>" +"<input type='button' value='录入' class='my-button' οnclick='typeIn("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+",\""
+courseList[i].majorName+"\",\""+courseList[i].deptName+"\",\""+courseList[i].courseName+"\")'>"+"<input type='button' value='提交' class='my-button' οnclick='submitScoreAudit("+courseList[i].id+","+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+")'>";
}else if(courseList[i].auditStatus=='已提交'){
str += "<td>" +"<input type='button' value='取消提交' class='my-button' οnclick='disScoreAudit("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+")'>";
str += "" +"<input type='button' value='打印' class='my-button' οnclick='printScore("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+","+courseList[i].id+",\""
+courseList[i].majorName+"\",\""+courseList[i].deptName+"\",\""+courseList[i].courseName+
"\",\""+courseList[i].className+"\",\""+courseList[i].teacherName+"\",\""+courseList[i].courseType+"\")'>";
}else if(courseList[i].auditStatus=='未审核通过'){
str += "<td>" +"<input type='button' value='提交' class='my-button' οnclick='submitScoreAudit("+courseList[i].id+","+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+")'>";
}else if(courseList[i].auditStatus=='已发布'){
str += "<td>" +"<input type='button' value='打印' class='my-button' οnclick='printScore("+courseList[i].grade+","+year
+","+term+","+courseList[i].courseId+","+courseList[i].teacherId+","+courseList[i].classId+","
+courseList[i].majorId+","+courseList[i].deptId+","+courseList[i].id
+",\""+courseList[i].majorName+"\",\""+courseList[i].deptName+"\",\""+courseList[i].courseName+
"\",\""+courseList[i].className+"\",\""+courseList[i].teacherName+"\",\""+courseList[i].courseType+"\")'>";
}
str+="</td>";
loadLayerEL(inde,courseList[i].grade,year,term,courseList[i].courseId,courseList[i].teacherId,courseList[i].classId,courseList[i].majorId,courseList[i].deptId,courseList[i].majorName,courseList[i].deptName,courseList[i].courseName)
}
$("#t_body_class").html(str);
$("#table_div").show();
}else{
$("#no_data").show();
$("#table_div").hide();
}
- 代码是渲染页面在后,赋值调用loadLayerEL方法在前,但此时页面的这些值是没有给到的,直接调用上传按钮,此时是不起作用的,需要先给页面渲染,再去调用