다음 값을 가진 배열이 있습니다.
[
"Prod1",
"Puma Superstar",
"1",
"$50",
"Prod2",
"Nike Superstar",
"2",
"$100"
]
이렇게 할 수 있습니까?
Product ID | Product Name | Qty | Price
-------------|------------------|-----|------
Prod1 | Puma Superstar | 1 | $50
Prod2 | Nike Superstar | 2 | $100
내 코드는 내가 시도한 것을 보여줍니다. 그러나 rows.length
항상 0 (새로 고침되지 않음)이기 때문에 새 행에 항목을 추가 할 수 없습니다. 방법이 있습니까 아니면 불가능합니까?
db.allDocs({
include_docs: true,
attachments: true,
startkey: 'receipt',
endkey: 'receipt\uffff'
}).then(function(result) {
console.log(result);
console.log(result.rows.length);
for (var i = 0; i <= (result.rows.length - 1); i++) {
if (result.rows[i].doc.nric == "alvin123") {
var tableRef = document.getElementById("tableA").getElementsByTagName("tbody")[0];
var newRow = tableRef.insertRow(tableRef.rows.length);
var newCell = newRow.insertCell(0);
var anotherCell = newRow.insertCell(1);
newCell.onclick = function() {
var id = this.innerHTML;
alert(id);
db.get(id).then(function(doc) {
var tableRef1 = document.getElementById("tableC").getElementsByTagName("tbody")[0];
var tableLength = tableRef1.rows.length;
var newRow1 = tableRef1.insertRow(tableLength);
var newCell1 = newRow1.insertCell(0);
var anotherCell1 = newRow1.insertCell(1);
var newCell2 = newRow1.insertCell(2);
var anotherCell3 = newRow1.insertCell(3);
for (var j = 0; j < doc.items[0].length; j++) {
if (doc.items[0][j].charAt(0) == 'P') {
newCell1.appendChild(document.createTextNode(doc.items[0][j]));
} else if (doc.items[0][j].charAt(0) == '$') {
anotherCell3.appendChild(document.createTextNode(doc.items[0][j]));
tableLength = tableLength + 1;
} else if (isNaN(doc.items[0][j].charAt(0)) == false) {
newCell2.appendChild(document.createTextNode(doc.items[0][j]));
} else {
anotherCell1.appendChild(document.createTextNode(doc.items[0][j]));
}
}
}).catch(function(err) {
console.log(err);
});
};
newCell.appendChild(document.createTextNode(result.rows[i].doc._id));
anotherCell.appendChild(document.createTextNode("$" + result.rows[i].doc.totalAmount));
}
}
}).catch(function(err) {
console.log(err);
});
귀하의 접근 방식은 복잡합니다. 이 간단한 예를보십시오.
var tableRef1 = document.getElementById("tableC").getElementsByTagName("tbody")[0];
var items = [
"Prod1",
"Puma Superstar",
"1",
"$50",
"Prod2",
"Nike Superstar",
"2",
"$100"
]
for (var j = 0; j < items.length; j+=4) {
var tableLength = tableRef1.rows.length;
var newRow = tableRef1.insertRow(tableLength);
var cell1 = newRow.insertCell(0);
var cell2 = newRow.insertCell(1);
var cell3 = newRow.insertCell(2);
var cell4 = newRow.insertCell(3);
cell1.appendChild(document.createTextNode(items[j]));
cell2.appendChild(document.createTextNode(items[j+1]));
cell3.appendChild(document.createTextNode(items[j+2]));
cell4.appendChild(document.createTextNode(items[j+3]));
}
참고 :
jsfiddle 에서이 작업 예제를 참조하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다