0
こんにちは私はユーザーが追加または削除できる動的なフィールドをユーザーが入力するフォームを用意しています。このフォームが完成すると、docxtemplaterを使用して単語文書が作成されます。私は最後の項目だけを取得していますが、私は私の文書に入力される複数の項目をループすることができるように配列を作成しています。Docxtemplater配列には最後の値しか入力されていません。
Javascriptを:
var methods = document.getElementsByName("Method[]");
var attributes = document.getElementsByName("Attribute[]");
var locations = document.getElementsByName("Location[]");
var len = methods.length;
var mdata = []
for (var x = 0; x < len; x++){
var element = {
"Method": methods[x].value,
"Attribute": attributes[x].value,
"Location": locations[x].value
};
mdata.push(element);
}
console.log(JSON.stringify(mdata));
var docxvar = {
ShelfLifeExpiry: $("#shelfdrp").val(),
monograph: "2",
"testloop":
[
mdata
]
};
docx.docxtemplater.setData(docxvar);
ドキュメントテンプレート:
{#testloop}
{Method}
{Attribute}
{Location}
{/testloop}
コンソールから:私は、文書の中に、コンソールにあることから、すべての値を取得するにはどうすればよい
[{"Method":"3434","Attribute":"434","Location":"434"},{"Method":"4343","Attribute":"3434","Location":"232"},{"Method":"3231","Attribute":"232","Location":"323321"}]
?
ありがとう。
は、私がtestloop」で[]を削除する必要がありましたそれを考え出しました –