Javascript 将id解析为引导模式
我有一个包含一串字符串的引导模式。我还有一个卡片循环,每个卡片都有不同的“id”。当我打开模式时,我希望id显示在模式中,我稍后将使用它获取更多信息,如名称、描述和截止日期 这是我的JSON对象循环:Javascript 将id解析为引导模式,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我有一个包含一串字符串的引导模式。我还有一个卡片循环,每个卡片都有不同的“id”。当我打开模式时,我希望id显示在模式中,我稍后将使用它获取更多信息,如名称、描述和截止日期 这是我的JSON对象循环: <div class="card-list-body"> {% for assignment in förseningar %} <div class="card card-kanban" data-toggle="moda
<div class="card-list-body">
{% for assignment in förseningar %}
<div class="card card-kanban" data-toggle="modal" data-target="#task-modal" id="{{assignment.id}}">
<script>
$('#task-modal').on('show.bs.modal', function(event) {
var Id = $(event.relatedTarget).data('id');
console.log("aaa")
$(event.currentTarget).find('input[name="modal-title"]').val(Id);
});
</script>
<div class="card-body">
<div class="dropdown card-options">
<button class="btn-options" type="button" id="kanban-dropdown-button-16" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="material-icons">more_vert</i>
</button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="#">Edit</a>
<a class="dropdown-item text-danger" href="#">Archive Card</a>
</div>
</div>
<div class="card-title" style="white-space: initial; ">
<a href="#" data-toggle="modal" data-target="#task-modal">
<h6 style="font-weight: 400">
{{assignment.type_of_assignment}} i {{assignment.course}} </h6>
</a>
</div>
<div class="card-title" style="white-space: initial; ">
<a href="" data-toggle="modal" data-target="#task-modal">
<h6 style="font-weight: 600">
{{assignment.name}}
</h6>
</a>
</div>
<div class="card-title" style="white-space: initial; ">
<a href="#" data-toggle="modal" data-target="#task-modal">
<h6 style="font-weight: 600; color: #d21b1b">
Försenad
</h6>
</a>
</div>
<style>
.hor-list {
list-style-type: none;
overflow: hidden;
display: block;
text-decoration: none;
padding: 0px;
margin-right: 5px;
}
.circle {
border-radius: 50%;
height: 30px;
text-align: center;
width: 30px;
}
.list-item {
float: left;
margin-right: 1px
}
.initials {
font-size: 15px;
font-weight: 800;
line-height: 1;
position: relative;
top: 3px;
/* 25% of parent */
}
</style>
<ul class="hor-list2">
{% for teacher in assignment.teachers.all %}
<li class = "list-item2">
<span class="step" style="background: {{teacher.userColor}};">{{teacher.user.username|first|capfirst}}</span>
</li>
{% endfor %}
<li class = "list-item2">
<p style="margin-left: 10px; font-size: 15px">
{{assignment.teachers.count}} Lärare:
{% for teacher in assignment.teachers.all %}
{{teacher.user.username|capfirst}}
{% endfor %}
</p>
</li>
</ul>
<hr>
<div class="card-title" style="white-space: initial; ">
<a href="#" data-toggle="modal" data-target="#task-modal">
<h6 style="font-weight: 600; color: rgb(82, 130, 202)">
Börja Plugga. Skapa en studieplan
</h6>
</a>
</div>
</div>
</div>
{% endfor %}
</div>
这是模态的一部分:
<div class="modal modal-task" id="task-modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modal-title">Create Brand Mood Boards</h5>
<button type="button" class="close btn btn-round" data-dismiss="modal" aria-label="Close">
<i class="material-icons">close</i>
</button>
</div>
<!--end of modal head-->
<div class="modal-body">
<div class="page-header">
<p class="lead">Assemble three distinct mood boards for client consideration</p>
<div class="d-flex align-items-center">
<button class="btn btn-round" data-toggle="modal" data-target="#user-manage-modal">
<i class="material-icons">add</i>
</button>
</div>
<div>
<div class="progress">
<div class="progress-bar bg-success" style="width:42%;"></div>
</div>
<div class="d-flex justify-content-between text-small">
<div class="d-flex align-items-center">
<i class="material-icons">playlist_add_check</i>
<span>3/7</span>
</div>
<span>Due 14 days</span>
</div>
</div>
</div>
<ul class="nav nav-tabs nav-fill" role="tablist">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#task" role="tab" aria-controls="task" aria-selected="true">Task</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#files" role="tab" aria-controls="files" aria-selected="false">Files</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="task" role="tabpanel">
<div class="content-list" data-filter-list="checklist">
javascript:
<script>
$('#task-modal').on('show.bs.modal', function(event) {
var Id = $(event.relatedTarget).data('id');
console.log("aaa")
$(event.currentTarget).find('input[name="modal-title"]').val(Id);
});
</script>
正如我所说。我想要一张卡片的详细页。所以当我按下卡片时,我会弹出一个窗口。我希望弹出窗口包含一个更详细的卡片页面。我不知道如何将数据输入到弹出模式中,因为任务模式我认为这很接近,但是如果有人能帮忙,我将不胜感激 三个问题:
您的javascript位于for循环{forassignment in förseningar%}的内部,它应该在外部。否则会重复x次。
var Id=$event.relatedTarget.data'Id'表示触发模式的按钮具有数据Id属性。但是你的没有,它有一个id属性。因此,要么在中设置数据id={{assignment.id}},要么更改为var id=$event.relatedTarget.attr'id'。
$event.currentTarget.find'input[name=modal title]”表示您正在模态中查找元素,但我在任何地方都看不到。也许它被切断了,这样就没问题了。但是如果您试图更改模态的模态标题div,那么选择器应该是:$this.find'.modal title'。
注意:我使用$this而不是$event.currentTarget。不应该有任何区别,因为currentTarget是模态,这也是模态。我做了更改,但仍然没有更改。$'任务模式'.on'show.bs.modal',functionevent{var Id=$event.relatedTarget.data'Id';$this.find'.modal title'.valId};使用调试器。在函数内设置断点。检查Id的值。检查此的值。使用控制台手动复制代码并检查结果是否符合预期。抱歉,我以前从未使用过调试器。你能猜出问题出在哪里吗?不,我猜不到。如果您进行了我建议的所有更改,即还设置了数据id=。。。而不是id=。。。它应该会起作用。找出其他错误的唯一方法是使用调试器。如果你想编程,你必须学会使用调试器,这是找出问题所在的最快方法。我从来不会仅仅通过查看我的代码来解决问题,我总是设置断点并检查变量,看看为什么我的代码没有按照我期望的方式运行。只是一点调试建议。每当您遇到这样的问题时,通过使用单行数据来最小化代码,而不需要for循环。如果可能,使用直接文本替换中的所有ID,以检查代码本身是否仅使用所需的引导脚本正常工作。如果问题仍然存在,ppl可以通过代码段直接调试代码。