javascript - 使用 Firebase 数据填充模态
问题描述
我创建了一个模式来将数据保存到 DB,但现在我试图打开一个模式,其中包含已经保存的当前值来编辑它们。但我没有成功
这里是编辑模式(从预览模式修改):
<!-- edit Modal -->
<div class="modal fade" id="editModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modifique o incidente</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="exampleFormControlInput1">Local</label>
<input type="text" class="form-control" id="localEdit" placeholder="Onde aconteceu?">
</div>
<div class="form-group">
<label for="exampleFormControlTextarea1">Descricao</label>
<textarea class="form-control" id="descricaoEdit" rows="3"></textarea>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Link da Imagem</label>
<input type="text" class="form-control" id="imgLinkEdit" placeholder="Tem imagem?">
</div>
<button type="button" class="btn btn-default" type="submit" onclick="updateCard(event)">Adicionar</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
</form>
</div>
</div>
</div>
</div>
这是我在前面创建卡片的javascript方式:
const content = `
<div class="col-md-4">
<div class="card mb-4 box-shadow">
<img class="card-img-top data-imgLink" data-src="${doc.data().foto}">
<div class="card-body">
<p class="card-text" id="data-local">Local: ${doc.data().local}</p>
<p class="card-text data-description">Descricao: ${doc.data().descricao}</p>
<p class="card-text data-situation">Situacao: ${doc.data().situacao}</p>
<button type="button" class="btn btn-sm btn-outline-secondary edit-button" id="editButton" data-toggle="modal" data-target="#editModal">Edit</button>
<button type="button" class="btn btn-sm btn-outline-secondary" type="submit" onclick="deleteCard('${doc.id}')">Apagar</button>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
</div>
</div>
</div>
</div>
</div>
`;
这是我试图创建的将值传递给编辑模式的函数(我只尝试使用第一个输入):
$(document).on("click", ".edit-button", function(){
var local = $(this).find('#data-local').text();
$('#localEdit').parent().val(local);
console.log("clicado");
});
如您所见,我将正确的 html id 传递给函数。
任何线索我做错了什么?
谢谢
解决方案
您有一个逻辑错误,$('#localEdit')
将搜索 id 为localEdit的元素,这是一个输入字段并.val()
与输入字段一起使用。所以,$('#localEdit').parent().val(local);
你可以把它写成$('#localEdit').val(local);
因此,在这种情况下,您有一个引用 localEdit 的 id,它是一个输入字段,.val()
函数将使用它,无需调用.parent()
.
推荐阅读
- javascript - Chrome 拒绝显示 iframe,但其他浏览器可以
- sql - Graph 上的递归查询以 PostgreSQL 中的错误“无法写入元组存储临时文件”结束
- javascript - 是否可以使用 Redux Toolkit 从另一个 reducer 函数(在同一切片内)调用 reducer 函数?
- python - Python weakref.proxy 对象被认为是可迭代的?
- python - return self._dims[key].value IndexError: list index out of range Tensorflow indexError
- asp.net-web-api - 枚举未在 .net Core Web API GET 响应中将 expando 对象转换为 XML
- azure - Azure 应用服务托管 asp.NET 核心 MVC 应用
- docker - How to set docker path for Jenkins local? docker: command not found
- node.js - Mongodb query params ( combine $gt with $in )
- go - Decode a debeuzium event schema into a meaningful datastructure in golang