![](/img/trans.png)
[英]how to dynamically create ul and li elements by for loop in javascript
[英]Javascript arrays and updating <ul><li></li></ul> elements with a loop?
我為此掙扎了一點。 我是一名初級python程序員,因此被要求建立一個網站。 我自然會說“是”,然后選擇了Django。 無論如何,我在構建日歷小部件時遇到了一些問題。 我正在使用AJAX將請求傳遞回視圖,並根據用戶是否在請求前幾天/下個月來更新某些元素。
function getPreviousMonth( event ) {
$.ajax({
type: "GET",
dataType: "json",
url: "{% url 'events' %}",
data: { 'month': previousMonth, 'year': previousYear }
})
.done(function(response) {
console.log(response);
nextMonth = response.next_month;
nextYear = response.next_year;
previousMonth = response.previous_month;
previousYear = response.previous_year;
currentMonth = response.current_month;
currentYear = response.current_year;
$('#currentMonth').text(currentMonth);
$('#currentYear').text(currentYear);
});
};
這一切似乎都運作良好。 在響應對象中,我有一個列表數組(我認為,如果我錯了,肯定可以糾正我)。 在模板方面,我使用Django從days數組中設置日歷:
{% for week in weeks %}
<ul class="days">
{% for day in week %}
{% if day == 0 %}
<li></li>
{% else %}
<li>{{ day }}</li>
{% endif %}
{% endfor %}
</ul>
{% endfor %}
一切看起來都很不錯(而且重要的是,發現了功能):
我現在想做的是,在響應得到滿足之后,對模板上的未加密列表(class =“ days”)執行相同的邏輯。 我有以下天數(“ weeks”數組,如果月份中包含星期幾,則為0,否則將月份中的星期幾作為整數,希望這是有意義的):
上面是單擊下個月后的日期,因此它對應於2月中的日期。 因此,對於列表數組中的每個[]列表-我想進入並更新ul中的所有li-希望這是有道理的。 本質上是一個循環內的一個循環。
據我了解,您想重新創建使用javascript中的django模板所做的工作。
當您使用jQuery時,它應該可以工作:
// Make this selector more specific if needed
$("ul.days").each(function (i) {
$(this).find('li').each(function (j) {
if (weeks[i][j]) {
$(this).html(weeks[i][j]);
} else {
$(this).html('');
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.