//定义一个自动创建表格的函数
//cont容器id,cla表格的类名,col表格的行数,
//ThArr表格的头数据,TdArr表格的单元格数据
function createTable(cont,cla,col,ThArr,TdArr){
$("#"+cont).children('table').remove();
var _table=$('
');
var _thead=$('');
var _tbody=$('');
var ThArray=new Array(); //设置th的数组
var TrArray=new Array(); //设置tr的数组
var TdArray=new Array(); //设置td的数组
var TdLength; //获取单元格个数
var TrLength; //获取行数
TdLength=TdArr.length;
TrLength=Math.ceil(TdLength/col);
// 给每个th设置值
for(var i=0;i
"+ThArr[i]+"");
}
// 给每个td设置值
for(var i=0;i"+TdArr[i]+"");
}
//设置tr
for(var i=0;i");
}
//将td以col个赋给tr
var n=0;
for(var i=0;i');
var _thead=$('');
var _tbody=$('');
var ThArray=new Array(); //设置th的数组
var TrArray=new Array(); //设置tr的数组
var TdArray=new Array(); //设置td的数组
var TdLength; //获取单元格个数
var TrLength; //获取行数
TdLength=TdArr.length;
TrLength=Math.ceil(TdLength/ThArr.length);
// 给每个th设置值
for(var i=0;i"+ThArr[i]+"");
}
// 给每个td设置值
for(var i=0;i"+TdArr[i]+"");
}
//设置tr
for(var i=0;i");
}
//将td以col个赋给tr
var n=0;
for(var i=0;i');
var _thead=$('');
var _tbody=$('');
var ThArray=new Array(); //设置th的数组
var TrArray=new Array(); //设置tr的数组
var TdArray=new Array(); //设置td的数组
var TdLength; //获取单元格个数
var TrLength; //获取行数
TdLength=TdArr.length;
TrLength=Math.ceil(TdLength/ThArr.length);
// 给每个th设置值
for(var i=0;i"+ThArr[i]+"");
}
// 给每个td设置值
for(var i=0;i"+TdArr[i]+"");
}
//设置tr
for(var i=0;i");
}
//将td以col个赋给tr
var n=0;
for(var i=0;i');
}
//给每个td添加文本
for(var i=0;i<__ArrTd.length;i++)
{
__ArrTagTd[i]=$('
'+__ArrTd[i]+'
');
}
var n=0;
//根据len将td添加到对应的行
for(var i=0;i<__TrLength;i++)
{
for(var k=0;k');
var __thead=$('');
var __tbody=$('');
var __ArrTh=new Array();
var __ArrTr=new Array();
var __ArrTd=new Array();
// 通过for循环将值给th
for(var i=0;i'+ArrTh[i]+'');
}
// 将th放到thead内
for(var i=0;i');
}
// 通过for循环将值给td
for(var i=0;i'+ArrTd[i][k]+'');
}
}
// 将td放到tr中
for(var i=0;i'+"数据加载中,请稍等..."+'');
//var __mask=$('');
var __left=ele.scrollLeft()+__eleWidth/2;
ele.append(__wait);
//定义等待框的css
ele.children('.wait').css({
'position':'absolute',
'z-index':'100',
'top':'50%',
'margin-top':'-30px',
'left':__left+'px',
'margin-left':'-100px',
'width':'200px',
'height':'60px',
'line-height':'60px',
'text-align':'center',
'font-size':'16px',
'background-color':'#ccc',
'color':'#000'
});
}
//移除等待框
function removeWait(ele){
ele.children('.wait').remove();
$('body').children('.mask').remove();
}
$(document).ready(function(){
// 点击显示表格选项
$('#container .cardOpt').click(function(){
$('#cardOption').show();
$('#allShade').show();
$('body').css('overflow','hidden');
});
// 点击隐藏表格选项
$('#outCardOption').click(function(){
$('#cardOption').hide();
$('#allShade').hide();
$('body').css('overflow','scroll');
});
// 浏览器滚动时表格选项和遮罩层的位置改变
$(document).scroll(function(){
var scrollY=$(this).scrollTop();
$('#cardOption').css('top',scrollY+50+'px');
$('#cardResisOption').css('top',scrollY+50+'px');
$('#allShade').css('top',scrollY+'px');
});
});
//在容器中创建文本框
function createInput(ele,val){
if(ele.find('input').length==0)
{
ele.text('');
var __input=$('');
ele.append(__input);
}
}
//通过表格选项的值返回表头数据
function getArrTh(__stateArr,__arrTh){
var __thIndex=0; //新表头数据的下标
var __newTh=new Array(); //存储新的表头数据
for(var i=0;i<__arrTh.length;i++)
{
if(__stateArr[i]==1)
{
__newTh[__thIndex]=__arrTh[i];
__thIndex++;
}
}
return __newTh;
}
//通过表格选项的值返回表内数据
function getArrTd(__stateArr,__arrTd){
var __tdIndex=0;
var __newTd=new Array();
for(var i=0;i<__arrTd.length;i++)
{
var stateIndex=i%__stateArr.length; //获取stateArr的下标
if(__stateArr[stateIndex]==1)
{
__newTd[__tdIndex]=__arrTd[i];
__tdIndex++;
}
}
return __newTd;
}
//让表格头和表格内的宽度相等
function widthEqual(eleHead,eleBody){
var widthHead=new Array(); //获取头部单元格的宽度
var widthBody=new Array(); //获取表格内的单元格的宽度
var maxWidth=new Array(); //获取表格最宽
for(var i=0;iwidthBody[i])
{
maxWidth[i]=widthHead[i];
}else{
maxWidth[i]=widthBody[i];
}
}
// 将表格的第一行和头部的宽度相等
for(var i=0;i');
var __option=new Array();
for(var i=0;i'+optArr[i]+'');
}else{
__option[i]=$('');
}
}
for(var i=0;i全部(共'+optList.length+'种)');
ele.append(_option);
}
// 根据optList的值生成内容
for(var i=0; i'+_data.txt+'');
_option.attr('selected', _data.selected);
_option.data('attr', _data.data);
Object.keys(_data.attr).forEach(function(key) {
_option.attr(key, _data.attr[key]);
});
ele.append(_option);
}
}
// 获取生成下拉列表的数据
function getOptionsData(txt, val, data, attr, isSelected) {
var _tmp = {};
_tmp.txt = txt;
_tmp.val = val;
_tmp.attr = attr || {};
_tmp.data = data || {};
_tmp.selected = isSelected?true:false;
return _tmp;
}
/*
创建表格
@param jquery对象 eleHead 表格头部容器
@param jquery对象 eleBody 表格body容器
@param array thList 表格头部数据
@param array tdList 表格body数据
@param array status 表格状态数组(没有则默认全部显示)
*/
function createFullTbl(eleHead, eleBody, thList, tdList, status) {
if(arguments.length < 5) {
var status = new Array();
for(var i = 0; i < thList.length; i++) {
status.push(1);
}
}
var arrNewTh = getArrTh(status, thList);
var arrNewTd = getArrTd(status, tdList);
createTablenew(eleHead, arrNewTh, arrNewTd);
createTablenew(eleBody, arrNewTh, arrNewTd);
setTblWidth(eleHead, eleBody);
eleBody.scroll(function() {
setTblWidth(eleHead, eleBody);
});
}
/*
使表格的头部和body内容对齐
@param jquery对象 eleHead 表格头部容器
@param jquery对象 eleBody 表格body容器
*/
function setTblWidth(tbHead, tbBody) {
var tblBdWd = tbBody.find('table').width();
tbHead.find('table').width(tblBdWd);
var tbScrollLeft = tbBody.scrollLeft();
tbHead.find('table').css('left', -tbScrollLeft + 'px');
}
// 向已有的表格添加td
function addTr(ele, TdArr) {
var _tbody=ele.find('tbody');
var TdArray=new Array(); //设置td的数组
// 给每个td设置值
for(var i=0;i"+TdArr[i]+"");
}
var _tr = $('
');
_tr.append(TdArray);
//将tr添加到tbody的容器中
_tbody.append(_tr);
}
/*
创建表格
@param jquery对象 eleHead 表格头部容器
@param jquery对象 eleBody 表格body容器
@param array thList 表格头部数据
@param array tdList 表格body数据
@param array status 表格状态数组(没有则默认全部显示)
*/
function addFullTr(eleHead, eleBody, thList, tdList, status) {
if(arguments.length < 5) {
var status = new Array();
for(var i = 0; i < thList.length; i++) {
status.push(1);
}
}
var arrNewTd = getArrTd(status, tdList);
addTr(eleHead, arrNewTd);
addTr(eleBody, arrNewTd);
setTblWidth(eleHead, eleBody);
}
/*
更新表格的特定的单元格的值
@param 表格头部容器 tblHd
@param 表格内容容器 tblBd
@param 对象数组 list 存储更新表格的行列以及对应的值
{row:, col:, val:} row行号, col列号, val值
*/
function updataTbl(tblHd, tblBd, list) {
var _hdTbody = tblHd.find('tbody'); // 表格头部的tbody
var _bdTbody = tblBd.find('tbody'); // 表格body的tbody
// 遍历list给特定的位置重新定义文本值
for(var i = 0; i < list.length; i++) {
var row = list[i].row;
var col = list[i].col;
var value = list[i].val;
_hdTbody.find('tr').eq(row).find('td').eq(col).text(value);
_bdTbody.find('tr').eq(row).find('td').eq(col).text(value);
}
}
/*
* 根据页面中表格数据生成表格第一次默认加载50条
* @param jquery tblHd 表格头部容器
* @param jquery tblBd 表格内容容器
* @param array thList 表格头部数据
* @param array tdList 所有的表格数据(全部查询出来)
* @param array status 表格状态数组(没有则默认全部显示)
*
*/
function createTblByAllData(tblHd, tblBd, thList, tdList, status) {
if(arguments.length < 5) {
var status = new Array();
for(var i = 0; i < thList.length; i++) {
status.push(1);
}
}
// 判断容器内是否有表格,如果不存在就截取表格数据的前50行数据进行创建表格
if(tblBd.find('table').length == 0) {
var newTdList = getArrTdList();
createFullTbl(tblHd, tblBd, thList, newTdList, status);
}
}
/*
*根据行号和获取行数获取td的数据
*@param array thList 表格的头部数据
*@param array tdList 所有的表格数据(全部查询出来)
*@param int row 当前的行号
*@param int rows 要添加的行数
*/
function getArrTdList(thList, tdList, row, rows) {
var tdList =new Array();
}