Django jquery获取按钮的内容

时间:2018-06-10 15:26:01

标签: jquery django button

我正在制作日历,其中某些日期已满,其他日期已开放。 所有日期都使用按钮显示,但是开放日期按钮打开一个表单以在该日期创建新事件,而完整日期按钮不执行任何操作。要打开表单,我使用的是模态(代码就是从引导程序粘贴的漂亮的马克斯副本)。

我在模板中使用for循环来创建所有按钮。每当单击一个Open-Date-Button时,我需要将forloop.counter传递给我的函数。因为按钮是用forloop.counter编号的,所以我只能提取点击按钮的内容。 我已经设法用jquery传递其他变量,如下所示:

            var test = '{{empty}}'

但是我没有通过forloop.counter

我的HTML看起来像这样:

           {% for days, active in zip %}
    {% if active %}
    <button id="count" type="button" class="daybutton daybutton1" data-toggle="modal" data-target="#myModal{{forloop.counter}}">{{forloop.counter}}</button><!-- Modal -->
      <div class="modal fade" id="myModal{{forloop.counter}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel{{forloop.counter}}">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
            <div class="modal-header">
              <h4 class="modal-title" id="myModalLabel">Wählen Sie eine Uhrzeit für Ihren Termin am</h4><h5>{{ forloop.counter }}</h5><h6> {{month}} {{year}}</h6>
            </div>
            <div class="modal-body">
              {{forloop.counter}}
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Schließen</button>
              <button id="submit_btn" class="btn btn-link">Send the invitation</button>
              </div>
          </div>
        </div>
      </div>

    {% else %}
      <button id="inactive" class="daybutton inactive" > {{ forloop.counter}} </button>
    {% endif %}
  {% endfor %}

我的脚本包含:

$(document).on("click", "#submit_btn", function(event){
  count = $("#count").clone().html()
   alert(count)
  });

这会显示警告,但邮件始终为&#34; 1&#34;。

我google了一下,尝试了不同的方法,但它始终是1,未定义或最后一个forloop(在我的情况下为29)。

我很乐意为你提供帮助! =)

1 个答案:

答案 0 :(得分:1)

你想的并不奇怪:

您已在for循环中创建了一个ID

 {% for days, active in zip %}
    {% if active %}
        <button id="count" type="button" class="daybutton daybutton1" data-toggle="modal" data-target="#myModal{{forloop.counter}}">{{forloop.counter}}</button>

'' ''

<button id="submit_btn" cla

这意味着将使用相同的ID id="count"创建多个按钮。

显然js {@ 1}}将始终返回最后一个ID(29在你的情况下*)....

我建议你不要在循环中创建任何ID,这将创建多个相同的id,这应该是唯一的。

如果它是实例循环,只需将count = $("#count").clone().html(){{ forloop.counter }}连接起来

或 将其作为{{ instance.id }}属性

处理
class

'' ''

<button type="button" data-id="{{forloop.counter}}" class="daybutton daybutton1 count"....>{{forloop.counter}}</button>

和js将成为:

 <button data-id="{{forloop.counter}}" class="btn btn-link submit_btn">Send the invitation</button>
          </div>