我正在制作日历,其中某些日期已满,其他日期已开放。 所有日期都使用按钮显示,但是开放日期按钮打开一个表单以在该日期创建新事件,而完整日期按钮不执行任何操作。要打开表单,我使用的是模态(代码就是从引导程序粘贴的漂亮的马克斯副本)。
我在模板中使用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)。
我很乐意为你提供帮助! =)
答案 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>