PHPの連想配列の並べ替えの結果を、PHPやそれらのものを使用しないHTMLテーブルのJavaScriptで表示する必要があります。 コンソールでは表示されているが、表は表示されないので、並べ替えは正常に機能します。ここで、ソースは、限り、私は今それを持っているようです。HTMLを使用してHTMLテーブルにJavaScriptの連想配列を表示
var array = [{
name: 'TK345',
year: 2011,
custom: 456,
colour: 'red'
}, {
name: 'ZJ456',
year: 2001,
custom: 96,
colour: 'black'
}, {
name: 'AW364',
year: 1985,
custom: 001,
colour: 'cyan'
}, {
name: 'RT112',
year: 2012,
custom: 33,
colour: 'green'
}, {
name: 'PO445',
year: 2012,
custom: 11,
colour: 'yellow'
}];
function sortarray(sorter) {
if (array.length < 1) {
return -1;
}
if (sorter == "name") {
var byName = array.slice(0);
var tableout = document.createElement('table');
var retval = null;
byName.sort(function(a, b) {
var x = a.name.toLowerCase();
var y = b.name.toLowerCase();
retval = x < y ? -1 : x > y ? 1 : 0;
tableout.setAttribute('border', '1');
tableout.setAttribute('width', '100%')
var row = tableout.insertRow(0);
for (j = 1; j <= 5; j++) {
row = tableout.insertRow(j - 1);
for (i = 1; i <= 4; i++)
var text = document.createTextNode(retval);
var cell = row.insertCell(i - 1);
cell.setAttribute('align', 'center')
cell.appendChild(text);
}
})
document.getElementById("demo").appendChild(tableout);
console.log(retval);
} else if (sorter == "year") {
var byDate = array.slice(0);
var tableout = document.createElement('table');
var retval = null;
byDate.sort(function(a, b) {
retval = a.year - b.year;
tableout.setAttribute('border', '1');
tableout.setAttribute('width', '100%')
var row = tableout.insertRow(0);
for (j = 1; j <= 5; j++) {
row = tableout.insertRow(j - 1);
for (i = 1; i <= 4; i++)
var text = document.createTextNode(retval);
var cell = row.insertCell(i - 1);
cell.setAttribute('align', 'center')
cell.appendChild(text);
}
})
document.getElementById("demo").appendChild(tableout);
console.log(retval);
} else {};
};
<!DOCTYPE html>
<html>
<body>
<button onclick="sortarray('name')">Sort by Name</button>
<button onclick="sortarray('year')">Sort by Year</button>
<p id="demo">test</p>
</body>
</html>
だから、それは私のページまたはコンソールでそのテーブルの何も表示されません。
アイデア?
あなたは、これらすべてのテーブルには、ものを作る上でreturn文を持っています。 – instead
これを返すと思っていましたが、今では変数にあります。問題のソースを更新しています。 – Thevagabond