JavaScript动态添加列的方法
作者:bea
本文实例讲述了JavaScript动态添加列的方法。分享给大家供大家参考。具体实现方法如下: /*** * 动态添加table 列 * @param result */ function addRow(resultJson){ /* var temp = []; temp = $.grep(arr, function(val, key) { if(val.indexOf('c') != -1) return true; // 如果[invert]参数不给
本文实例讲述了JavaScript动态添加列的方法。分享给大家供大家参考。具体实现方法如下:
/***
* 动态添加table 列
* @param result
*/
function addRow(resultJson){
/* var temp = [];
temp = $.grep(arr, function(val, key) {
if(val.indexOf('c') != -1)
return true;
// 如果[invert]参数不给或为false, $.grep只收集回调函数返回true的数组元素
// 反之[invert]参数为true, $.grep收集回调函数返回false的数组元素
}, false);
console.dir(temp);
*/
if(resultJson!=""){
var cv_arr=new Array();
var date_arr = new Array();
//将数据源解析,并解析成程序可认的date及result
$.each(resultJson, function(index, val) {
if(val['parser_schedule']!=null){
cv_arr.push(val['parser_schedule']);
var temp_data =val['parser_schedule'].split(",");
for(i=0;i<temp_data.length;i++){
var temp = temp_data[i].split(":");
date_arr.push(temp[0]);
}
}
});
date_arr = unique(date_arr);
date_arr.in_arr = function(value) {
var a = this;
//为了增加方法扩展适应性。我这稍微修改了下
for (var i = 0; i < a.length; i++) {
if (a[i] == value)
return i;
}
}
//ARR下标值从0开始
var old_td_n = $("#mytable thead tr").find("th").length;
//获取已有的TH
//设置TH信息
for(i=0;i<date_arr.length;i++){
//注意TH和TD,样式不一样
$("#mytable thead tr").append("<th>"+date_arr[i]+"</th>");
$("#mytable tbody tr").append("<td>-</td>");
}
var rowNum_arr=new Array();
//获取一共有多少行
for(i=0;i<$("#mytable").find("tr").length;i++){
//获取每一行中第三列的值,table前两列隐藏,第三列开始判断是否有数据
var str=$("#mytable tbody").find("tr").eq(i);
var std=str.find("td").eq(2);
//当没有值的时候记录,获取行号
if($.trim(std.text()).length <1){
rowNum_arr.push(i);
}else{
// $(std).html("");
}
}
//设置TD信息
for(i=0;i<cv_arr.length;i++){
//获取RESULT_ARR中的日期数据
var temp_str = cv_arr[i];//OK
//将日期数据用","分割成数组
var temp_arr = temp_str.split(",");//OK [03-11:10,03-12:9,03-13:8,03-14:15]
for(j=0;j<temp_arr.length;j++){
//获取数据集 为字符串例如03-11:10
var temp_result = temp_arr[j];
/*
将数据集分割为数组[03-11:10]
ARR[0] 03-11
ARR[1] 10
*/
var temp_result_arr = temp_result.split(":");
//设置第I行的TR里的内容
$("#mytable tbody").find("tr").eq(rowNum_arr[i]).find("td").eq(old_td_n+date_arr.in_arr(temp_result_arr[0])).html(temp_result_arr[1]);
// 应用样式
$("#tb tr:even td").addClass("alt");//行的颜色
$("#tb tr").find("td:eq(2)").addClass("spec");
$("#tb tr:even").find("td:eq(2)").addClass("specalt");
}
}
}
}
希望本文所述对大家的javascript程序设计有所帮助。
有用 | 无用
/***
* 动态添加table 列
* @param result
*/
function addRow(resultJson){
/* var temp = [];
temp = $.grep(arr, function(val, key) {
if(val.indexOf('c') != -1)
return true;
// 如果[invert]参数不给或为false, $.grep只收集回调函数返回true的数组元素
// 反之[invert]参数为true, $.grep收集回调函数返回false的数组元素
}, false);
console.dir(temp);
*/
if(resultJson!=""){
var cv_arr=new Array();
var date_arr = new Array();
//将数据源解析,并解析成程序可认的date及result
$.each(resultJson, function(index, val) {
if(val['parser_schedule']!=null){
cv_arr.push(val['parser_schedule']);
var temp_data =val['parser_schedule'].split(",");
for(i=0;i<temp_data.length;i++){
var temp = temp_data[i].split(":");
date_arr.push(temp[0]);
}
}
});
date_arr = unique(date_arr);
date_arr.in_arr = function(value) {
var a = this;
//为了增加方法扩展适应性。我这稍微修改了下
for (var i = 0; i < a.length; i++) {
if (a[i] == value)
return i;
}
}
//ARR下标值从0开始
var old_td_n = $("#mytable thead tr").find("th").length;
//获取已有的TH
//设置TH信息
for(i=0;i<date_arr.length;i++){
//注意TH和TD,样式不一样
$("#mytable thead tr").append("<th>"+date_arr[i]+"</th>");
$("#mytable tbody tr").append("<td>-</td>");
}
var rowNum_arr=new Array();
//获取一共有多少行
for(i=0;i<$("#mytable").find("tr").length;i++){
//获取每一行中第三列的值,table前两列隐藏,第三列开始判断是否有数据
var str=$("#mytable tbody").find("tr").eq(i);
var std=str.find("td").eq(2);
//当没有值的时候记录,获取行号
if($.trim(std.text()).length <1){
rowNum_arr.push(i);
}else{
// $(std).html("");
}
}
//设置TD信息
for(i=0;i<cv_arr.length;i++){
//获取RESULT_ARR中的日期数据
var temp_str = cv_arr[i];//OK
//将日期数据用","分割成数组
var temp_arr = temp_str.split(",");//OK [03-11:10,03-12:9,03-13:8,03-14:15]
for(j=0;j<temp_arr.length;j++){
//获取数据集 为字符串例如03-11:10
var temp_result = temp_arr[j];
/*
将数据集分割为数组[03-11:10]
ARR[0] 03-11
ARR[1] 10
*/
var temp_result_arr = temp_result.split(":");
//设置第I行的TR里的内容
$("#mytable tbody").find("tr").eq(rowNum_arr[i]).find("td").eq(old_td_n+date_arr.in_arr(temp_result_arr[0])).html(temp_result_arr[1]);
// 应用样式
$("#tb tr:even td").addClass("alt");//行的颜色
$("#tb tr").find("td:eq(2)").addClass("spec");
$("#tb tr:even").find("td:eq(2)").addClass("specalt");
}
}
}
}
希望本文所述对大家的javascript程序设计有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery使用removeClass方法删除元素指定Class的方法
- jQuery给多个不同元素添加class样式的方法
- Js实现自定义右键行为
- jQuery使用addClass()方法给元素添加多个class样式
- Jquery异步提交表单代码分享
- jQuery使用toggleClass方法动态添加删除Class样式的方法
- jQuery使用CSS()方法给指定元素同时设置多个样式
- 12306验证码破解思路分享
- nodejs开发微博实例
- jQuery获得包含margin的outerWidth和outerHeight的方法
- jQuery获得document和window对象宽度和高度的方法
- jQuery设置指定网页元素宽度和高度的方法
- jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
- Jquery实现鼠标移动放大图片功能实例
- jQuery延迟加载图片插件Lazy Load使用指南
- jQuery实现购物车计算价格功能的方法
- JavaScript的事件代理和委托实例分析
- JS实现简易图片轮播效果的方法
- jquery处理页面弹出层查询数据等待操作实例