jquery - 尝试使用 jQuery 在动态生成的内容下显示输入
问题描述
我正在尝试将来自#modifyForm 的输入(默认情况下不显示)显示在单击链接修改的卡片下。目前,它只能在第一张卡片下或同时在所有卡片下切换。任何帮助将不胜感激。
<div class="row rowcards">
{% for community in data %}
<div class="col-md-3" id="removable">
<div class="card">
<div class="card-body">
<a href="#" id="threedot" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a>
<!-- menu -->
<div class="dropdown-menu">
<p class="text-center"><a href="#" class="modifylink">{{ 'Modifiy' | trans }}</a></p>
<p class="text-center"><a href="#" data-id="{{community.id}}" class="text-danger deletelink"><i class="fas fa-trash-alt"></i>{{ 'Delete' | trans }}</a></p>
</div>
<p class="card-title">{{ community.info.name }}</p>
<p class="card-text"><i class="fas fa-users"></i> 4 membres</p>
<div class="text-center">
<button class="btn btn-primary btn-card"><i class="fas fa-user-plus"></i> {{ 'Add member' | trans }}</button>
</div>
</div>
</div>
<form data-id="{{community.id}}" id="modifyForm">
<div class="form-group modifyform">
<small class="form-text text-muted">Changez le nom de votre communauté</small>
<input type="text" class="form-control" required>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
{% endfor %}
jQuery:
$(document).on('click', '.modifylink', function() {
$('#removable #modifyForm').toggle(500)
});
解决方案
这是因为
Id
应该是唯一的所以不要对多个元素使用相同的 id .. 将id
任何循环中的所有 s 更改为class
s然后你可以使用
$(this).closest('.removable').find('.modifyForm').toggle(500)
推荐阅读
- kubernetes - 在 k8s 集群中添加新节点动态扩展 pod
- angular - CanLoad 守卫可以在 Electron 应用程序中使用吗?
- javascript - 从标签输入中按值递增数组元素
- wkwebview - WKWebView 未检测到 instragram 和 facebook 和 netflix 视频的视频 url
- node.js - Outlook 使用 NodeJS 创建日历事件
- delphi - 安装 RAD 10.4
- ruby - 试图从一种方法内部将控制权传递给 Proc,但我的语法在 ruby 中是错误的
- python - 如何输入有频率的数组?
- dll - TCL:在 Windows 中构建静态库
- javascript - 无法读取未定义的属性...(来自上下文的属性/值)