配列 (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/