首先,封装类,理解清楚你需要用的哪几个变量,然后声明,然后在类里封装函数,其中,constructor就是存放初始变量的地方。

这里还是datatable的处理解决,

constructor(table) {
this.data = {};
this.table = table }
inittable(table) {
for (var i = 0; i < this.data.rowdata.length; i++) {
this.data.rowdata[i].submit_status = 0
}
this.data.col_define[this.data.col_define.length] = {
'targets': this.data.col_define.length,
'title': '上传状态',
'data': 'submit_status',
'render': function (data, type, full, meta) {
if (1 === data) {
return '上传成功'
} else if (2 === data) {
return '上传失败'
} else {
return '未上传'
}
}
};
console.log(this.data.col_define);
console.log(this.data.rowdata);
this.table = $(table).DataTable({
'language': lan,
"dom": 'lB<"top"f><"toolbar">rt<"bottom"ip><"clear">',
"paging": true,
"lengthChange": true,
"info": true,
'destroy': true,
"deferRender": true,
'columns': this.data.col_define,
'data': this.data.rowdata,
})
}

在功能里配置表格的配置,然后之前的res结果中的data改成this即可

 success: function (res) {
if ('ok' === res['code']) {
if (department === 1) {
salary_table = $('#primary_excel_table')
} else if (department === 2) {
salary_table = $('#middle_excel_table')
} else if (department === 3) {
salary_table = $('#logistics_excel_table')
}
alert('解析完成!');
console.log('返回数据是', res['data']);
sal.data = res['data'];
console.log(sal.data);
sal.inittable(modal_table);

这样子,就能利用类,来动态定义表格,而且submit里也直接配置了,不用再用之前博客里的render功能,

还有就是,字符串的拼接

comcat_string(salary_info) {
var items = [];
Object.keys(salary_info).forEach(function (key) {
if (key !== '名字' && key !== '部门' && key !== '身份证' && key !== 'submit_status') {
items.push([key, salary_info[key]].join(':'));
}
});
return items.join('|')
}

用到forEach方法,JS遍历可以查询的到方法类。

再者,就是ajax中,如果想要调用this下的变量,需要提前在外部声明

_this=this

然后类似

    _this.data.rowdata[a]['submit_status'] = 1;

自己看的,不喜勿喷,前端实习第11天,我也忘了具体,反正差不多是11把,头很痛。。。。啦啦啦啦啦德玛西亚

对象的使用处理,作用域的和ajax中this的理解的更多相关文章

  1. 针对jquery的ajax中的参数理解

    1. url 发送请求的地址.为空表示当前页. $.ajax({ type: "post", data: studentInfo, contentType: "appli ...

  2. jsp九大内置对象、四种作用域、跳转方式

    jsp有四种属性范围: page -> 页面级别,显然只有在一个页面内可用. request -> 请求级别 服务器跳转,一次请求之后消失. session -> 会话级别 客户端跳 ...

  3. 转:AJAX中xhr对象详解

    XJAX ,并不是一种新技术的诞生.它实际上代表的是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用. 它包括: 使用XHTML和CSS标准化呈现: 使用DOM实现动态显示和交互: 使用XML ...

  4. Ajax中的XMLHttpRequest对象详解

    XMLHttpRequest对象是Ajax技术的核心.在Internet Explorer 5中,XMLHttpRequest对象以ActiveX对象引入,被称之为XMLHTTP,它是一种支持异步请求 ...

  5. JSP九大内置对象和四个作用域

    JSP九大内置对象和四个作用域 在学习JSP的时候,首先就要先了解JSP的内置对象,什么是内置对象呢?内置对象也叫隐含对象,就是不需要预先声明就可以在脚本代码和表达式中随意使用.而这样的内置对象在JS ...

  6. JSP——九大内置对象和其四大作用域

    一.JSP九大内置对象: JSP根据Servlet API 规范提供了某些内置对象,开发者不用事先声明就可以使用标准的变量来访问这些对象. Request:代表的是来自客户端的请求,例如我们在FORM ...

  7. 利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能

    Ajax文件上载 利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能: 步骤 导入组件并准备静态脚本 <dependency> <groupId& ...

  8. JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域

    前言 前面大概介绍了什么是JSP,今天我给大家介绍一下JSP的三个指令.6个动作以及它的9大内置对象.接下来我们就直接进入正题 一.JSP的3个指令 JSP指令(directive)是为JSP引擎而设 ...

  9. JSP中的九大隐式对象及四个作用域

    在这篇博文中,我们将讨论和学习JSP中的隐式对象及四个作用域. 一.九大隐式对象 这些对象是JSP容器为每个页面中的开发人员提供的Java对象,开发人员可以直接调用它们而不用显式地声明它们再调用. J ...

随机推荐

  1. [Swift]LeetCode198. 打家劫舍 | House Robber

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  2. [Swift]LeetCode384. 打乱数组 | Shuffle an Array

    Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...

  3. [Swift]LeetCode564. 寻找最近的回文数 | Find the Closest Palindrome

    Given an integer n, find the closest integer (not including itself), which is a palindrome. The 'clo ...

  4. 超全MyBatis动态SQL详解!( 看完SQL爽多了)

    MyBatis 令人喜欢的一大特性就是动态 SQL. 在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的. MyBatis 动态 SQL 的出现, 解决了这个麻烦. My ...

  5. java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer; 报错解决

    我的妈呀  真的是各种报错..... 这个问题    解决方法: https://www.cnblogs.com/beppezhang/p/6118661.html

  6. 学习Python--变量进阶

    变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引 ...

  7. 【异常】Servlet.service() for servlet [springMvc] in context with path [/orderdishessystem] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: net/sf/ezmorph/M

    今天做登录的时候,引入json-lib-2.1-jdk15.jar的包时,执行到JSONObject jsonObject = new JSONObject()对象就报标题的那个错. 原来是除了要导入 ...

  8. .NET跨平台开发之Xamarin.Android介绍与生命周期【2】

    前言 不同于IOS,Xamarin在Visual Studio中针对Android,可以很直接的去设计使用者界面,在本系列中,子浩会针对Android目录结构以及基本控制项进行介绍,包括TextVie ...

  9. 微信小程序使用nginx方向代理实现内嵌非业务域名

    通过上一篇文章简单介绍了一下微信小程序的新组件<web-view>,实现了在小程序中内嵌业务域名的功能.但是boss要的小程序中不仅想内嵌业务域名,还想要打开一些非业务域名(无法操作web ...

  10. MassTransit&Sagas分布式服务开发ppt分享

    saga,与分布式相关,最早被定义在Hector Garcia-Molina和Kenneth Salem的论文"Sagas"中.这篇论文提出了一个saga机制来作为分布式事务的替代 ...