javascript - 将 HTML 内容设置为单击按钮选择的元素
问题描述
下面是我通过循环遍历 PHP 行来填充的表单。
<div class="card" >
<div class="Results" id="Results"></div> <!-- to display alert -->
<div class="card-header">
<h1>XXX</h1>
</div>
<div class="card-body" >
<form id="PayBillFormForm3" method="post" action="">
<input name="user" value="mat" type="hidden">
<input name="id" value="12" type="hidden">
</form>
<button class="btn btn-success pay" value="pay">pay</button>
<button class="btn btn-danger decline" value="decline" >decline</button>
</div>
</div>
在 PHP 中执行命令后,我收到一个警报,通过以下 ajax 代码显示在 card 类中的第一个 div Child 上。
var formMessages = $('#Results');
(formMessages).html(alertBox);
因为我将有多个表单,并且需要在每个表单的顶部显示警报并尽量减少代码重复。我需要指定相对于在没有 ID 选择器的情况下单击的按钮的 div。
我试过这个,但没有用。请你帮忙。
var card = $(this).closest(".card");
var formMessages = card.find(".Results");
(formMessages).html(alertBox);
解决方案
无法从您发布的代码中看出您是如何设置事件侦听器的,以及是否this
指的是您想要的元素。这是您尝试执行的操作的简化示例:
const containers = $('.container');
containers.click(function() {
$(this).find('.alert').html('Alert');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="alert"></div>
<button>Show Alert</button>
</div>
<br>
<div class="container">
<div class="alert"></div>
<button>Show Alert</button>
</div>
推荐阅读
- c# - 使用 Azure AD 和应用程序角色保护 Angular 和 .Net Core API
- grpc - 在 gRPC 中,为什么客户端也要实现 server/service 方法?
- r - 如何根据指定序列生成两个向量组合的所有排列?
- c - 如何在 Cyclone-V 中的 HPS 和 FPGA 之间共享内存(SDRAM)?
- html - 如何隐藏文本节点保持元素的背景和大小?
- mysql - 仅返回 1 条记录
- arrays - 如何按列名在实体中搜索值?
- google-drive-api - Google Drive API v3 - 复杂查询多种文件类型
- typescript - 渲染组件 onClick
- python - Elasticsearch搜索查询:批量搜索多个项目?