私は、nunjucksで動的に作成したいラジオボタンでできた大きなフォームを持っています。jsonデータ、nunjucks、forループを使用してフォームのラジオ入力を動的に反復する
各htmlフォームの入力グループに変数を設定するためのデータを含むjsonファイルがあります。 htmlはグループごとに2つの無線入力で構成されています。
私はjsonファイルから変数を取り出すことができますが、FORループの作成にはまっていません。
私が達成しようとしているのは、checklist.jsonの各サブセクションをループし、各配列の変数でhtmlリストを作成し、データの最後までリストを構築することです。
htmlからわかるように、各配列のすべての変数は、値を除くhtml入力ブロックで2回使用されます。
要約:配列を含むサブセクションがある限り、htmlフォームの入力を繰り返し、各配列内のオブジェクトをそれぞれ入力します。
index.njks
{% include "../includes/checklist-radio.njk" %}
checklist.json(VAR = checklist_json)
{"checklist_title":"checklist variable test",
"checklist": [
{"section_title":"Responsive Design (Useability)",
"section":[
{"subsection_title1":"Mozilla Firefox Useability",
"subsection":[
{
"radio_title": "Mobile (Samsung S7 Edge)",
"name":"firefox_mobile",
"value": 1,
"class":"useability"
},
{
"radio_title": "Tablet (Surface Pro)",
"name":"firefox_tablet",
"value": 1,
"class":"useability"
},
{
"radio_title": "Desktop (Windows 10)",
"name":"firefox_desktop",
"value": 1,
"class":"useability"
}
]}
]}
]}
チェックリスト-radio.njk
{% for checklist_json.checklist.section.subsection in checklist_json.checklist.section %}
<li>
<span class="radio_title">{{checklist_json.checklist.section.subsection.radio_title}}</span>
<label class="radio_label">
<input type="radio" class="radio {{checklist_json.checklist.section.subsection.class}}" name="{{checklist_json.checklist.section.subsection.name}}" value="{{checklist_json.checklist.section.subsection.value | escape}}">
Yes</label>
<label class="radio_label">
<input type="radio" class="radio {{checklist_json.checklist.section.subsection.class}}" name="{{checklist_json.checklist.section.subsection.name}}" value="0">
No</label>
</li>
{% endfor %}
思考してください?
編集:実際のリストは、多くのセクションとサブセクションではるかに大きくなります。
。 – JPB
以下の作業中の解決策を確認してください – Daniel