[英]For Loop Iteration Inside of Javascript Variable (Django)
我正在嘗試使用Django內部的選擇器來實現下拉菜單。 我在尋找一款看起來很棒的軟件方面取得了良好的進展!
http://nelrohd.github.io/bootstrap-dropdown-checkbox/
但是,我在如何使其更具動態性方面陷入困境。
最終目標是要有一個過濾器選項,其中包含一個應用程序列表,我可以選擇和取消選擇這些應用程序,以更改輸出到屏幕的內容。
該軟件的工作方式是通過jQuery選擇器接收單個變量:
var myData = [{id: 1, label: "Test" }];
$(".myDropdownCheckbox").dropdownCheckbox({
data: myData,
title: "Dropdown Checkbox"
});
現在我只能對var使用硬編碼屬性
var data =[
{ id: "1", label: "Option 1", isChecked: true },
{ id: "2", label: "Option 2", isChecked: true },
{ id: "3", label: "Option 3", isChecked: true},
{ id: "4", label: "Option 4", isChecked: true },
{ id: "5", label: "Option 5", isChecked: true },
{ id: "6", label: "Option 6", isChecked: true},
{ id: "7", label: "Option 7", isChecked: true },
{ id: "8", label: "Option 8", isChecked: true },
{ id: "9", label: "Option 9", isChecked: true },
{ id: "10", label: "Option 10", isChecked: true },
];
我想找到一種方法來使這些屬性可迭代,並能夠從Django數據庫中提取列表:(類似:)
var data=[
for( var i = 0; i<=10, i++)
{id: (i), label: (list(i)), isChecked: true},
]
我試圖使用django模板標簽,但似乎也無法正常工作。 我的問題是:是否可以遍歷for循環來為變量創建屬性?
你有沒有嘗試過:
var data = [];
for (var i = 0; i <= 10; i++) {
data[data.length] = { id: (i + 1), label: 'Option ' + (i + 1), isChecked: true };
}
如果您在Django中生成列表,則可以執行以下操作:
mark_safe(json.dumps([{'id': element.id, 'label': element.label, 'isChecked': element.is_checked} for element in mylist]))
。 這只是一個示例,因為我不知道要渲染哪些對象。 假設將這樣安全且轉儲的json發送到foo
上下文變量:
var data = {{ foo }};
如果您想使用純JavaScript生成選項,則無需贅述。 像@AlexandreThebaldi答案這樣的簡單js for循環將起作用。
我會仔細檢查以確保您正確設置了Django標簽。 通過將選項集作為上下文傳遞,它看起來應該像這樣:
{% for opt in options %}
{id: {{ forloop.counter }}, label: {{ opt }}, isChecked: true}
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.