ここでは初心者ですが、これをデバッグするために他の質問をトロールするのに長い時間を費やしました。私の問題は次のとおりです。
「左」と「右」の 2 つの配列を取り、それらの間の比率を (既に動作している関数を使用して) 計算し、比率を含む 3x11 配列を出力します。
最後に作成しようとしているのは、4 行 12 列のテーブルです。[0] 行には「右」、[0] 列には左が表示され、表の残りの部分には対応する比率が表示されます。
次に、html 内の関連する div を置き換える必要があります。
たぶん、それは明らかなことであり、私はそれを完全に見逃しているか、私の知識の穴に過ぎません. いずれにせよ、私はそれに一日のほとんどを費やしました!
<!-- html -->
<body>
<input type="input" value="Enter a value"></input>
<div id="results_table">
Ratios:
<div id="result">ratios listed here</div>
<div id="result1">tables here</div>
</div>
</body>
//Javascript\\
$("input").change(function () {
var left = new Array(3);
var right = new Array(11);
left = [30, 40, 50];
right = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21];
result = fullCalc(left, right); //this calculates the ratios
$("#result").append(result);
var ratios = result;
resultstable = tableCreate(left,right,ratios);
$("#result1").append(resultsTable);
});
function tableCreate(a, b, c) {
newTable = document.getElementById("result1");
var tbl = document.createElement('table');
var tbdy = document.createElement('tbody');
tbl.style.width = '100%';
tbl.setAttribute('border', '1');
tbl.setAttribute('id', "results_tbl");
for (var i = 0; i < a.length + 1; i++) {
var tr = document.createElement('tr');
tr.setAttribute('id', "tablerow" + i);
for (var j = 0; j < b.length + 1; j++) {
var td = document.createElement('td');
if (i >= 1 && j === 0) {
var frontText = document.createTextNode(a[i-1]);
td.append(leftText);
td.setAttribute('id', "leftTable");
} else if (i === 0 && j >= 1) {
var rearText = document.createTextNode(b[j-1]);
td.append(rearText);
td.setAttribute('id', "rightTable");
} else {
var ratioText = document.createTextNode(c[i-1][j-1]);
td.appendChild(ratioText);
td.setAttribute('id', "ratioTable");
}
tr.appendChild(td);
}
tbdy.appendChild(tr);
}
tbl.appendChild(tbdy);
}
問題は、テーブルが表示されないことです。テーブルが作成されているかどうかさえわかりません。何か案は?