繁体   English   中英

JavaScript数组和更新 <ul><li></li></ul> 循环元素?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM