【发布时间】:2013-05-20 12:09:54
【问题描述】:
取数组(CritPath)和数组中的每一项;检查表并将列拆分为单独的数组(SysDate 和 SysTime)。
返回 (CritPath) 名称加上 (SysTime) 名称以形成具有 SysTime 数组值的新变量名称(即 ATMCXPSysTime = [2,2])。对 CritPath 数组中的每个执行此操作。
到目前为止,我只能输出数组值,但未能从 (CritPath) 创建具有 (SysDate) 和/或 (SysTime) 值的变量名称。
最终我希望能够调用 ATMCXPSysTime 变量名称并让它给出值 [2,2] 并在 (CritPath) 中给出相同的值... CCSysTime 将输出 [6,5]
脚本...
var CritPath = []
CritPath = ['ATMCXP','CC']
var SysDate = [];
var SysTime = [];
$(function(Sys){
for (i in CritPath) {
var Sys = CritPath[i];
var SysDate = Sys+'Date';
var SysTime = Sys+'Time';
for (i in Sys) {
$('#' + CritPath[i] + ' tbody tr').each(function(index) {
var $this = $(this);
var str = $(this).find(":nth-child(2)").html()
var parts = str.split(":");
var minutes = parseInt(parts[0], 10) * 60 + parseInt(parts[1], 10);
SysDate[index] = [$(this).find(":nth-child(1)").html()];
SysTime[index] = [index] = [minutes];
});
}
}
return Sys;
});
alert(SysTime);
alert(CritPath);
alert(Sys);
简单的 html 表格...
<table border="1" id="ATMCXP" cellspacing="1" align="center">
<tbody>
<tr>
<td>2013-04-09</td>
<td>00:02</td>
</tr>
<tr>
<td>2013-04-10</td>
<td>00:02</td>
</tr>
</tbody>
</table>
<table border="1" id="CC" cellspacing="1" align="center">
<tbody>
<tr>
<td>2012-04-09</td>
<td>00:06</td>
</tr>
<tr>
<td>2012-04-10</td>
<td>00:05</td>
</tr>
</tbody>
</table>
编辑: 添加小提琴...http://jsfiddle.net/sherman2k2/j3dWS/
【问题讨论】:
-
添加了一个小提琴...jsfiddle.net/sherman2k2/j3dWS
-
您能否提供代码示例,您将如何处理这些数据?
-
数据正在用于绘图。变量名用于引用时间和日期的数组值。所以基本上在图中,变量 ATMCXPSysTime 用于从该数组中绘制出点。目前,我有几个完全相同的代码,代码的唯一区别是引用表和更改变量名...
-
尝试为每个表替换它。每个表的代码都变得有点长。 var ATMCXPDate = []; var ATMCXPTime = []; var ATMCXPName = 'HP Non-Stop End of Day - 第 1 部分 - ATMCXP' $('#ATMCXP tbody tr').each(function(index) { var $this = $(this); var str = $(this) .find(":nth-child(2)").html() var parts = str.split(":"); var minutes = parseInt(parts[0], 10) * 60 + parseInt(parts[1] , 10); ATMCXPDate[index] = [$(this).find(":nth-child(1)").html()]; ATMCXPTime[index] = [minutes]; });
-
你能把这段代码放在问题里吗?