【发布时间】:2021-04-13 14:19:22
【问题描述】:
我正在 ruby-sinatra 中构建一个应用程序,它允许您创建帖子然后回复帖子。我正在尝试在用户单击回复时显示回复帖子的表单。但是,目前我的代码仅适用于正在呈现的第一个消息 div。所有其他人都有使表单出现的按钮,但它们不起作用。
这是我的 .erb
<div class="message-link more ">
<div class="comment-square">
<% message.comments.each do |comment| %>
<% comment.users.each do |user| %>
<div><h5><%= user.username %></h5></div>
<% end %>
<script type="text/javascript">
$("#button").click(function() {
$("#fn").show();
$("#ln").show();
});
</script>
<p class="comment-text"><%= comment.text %>
<input id="button" type="button" value="Reply"><br>
</p>
<div id="fn" hidden><input type="text" /></div><br>
<% end %>
</div>
</div>
谁能看出原因?
【问题讨论】:
-
你在按钮被渲染之前绑定了按钮。
-
您还拥有循环中的代码,因此您将拥有多个具有相同 id 的元素。那是行不通的。
-
@epascarello 对修复有什么建议吗?
标签: javascript html jquery ruby sinatra