【发布时间】:2017-08-27 13:02:40
【问题描述】:
我正在尝试设置一个简单的搜索栏来显示/隐藏我的 rails 应用程序中的内容。具体来说,试图允许某人通过我的聊天室中的用户名搜索特定用户,这些用户名使用 Rails 每个数组显示。我查看了这两个问题以寻求指导,但仍然没有得到它的工作 - In-page search using contains() to show/hide div content 和 Dynamical search-function to show/hide divs。每当我输入用户名时,我的搜索框中什么都没有出现。我在下面列出了我的代码,任何关于这个问题的帮助都会很棒。非常感谢!
Index.html.erb
<div class="col-md-4">
<form name="searchBox">
Search for a User: <input type="text" name="keyword" />
<input type="button" value="Search" onClick="searchFunction()" />
</form>
<% (User.all - [current_user]).each do |user| %>
<div class="box2" style="display:none" id="searchable">
<%= image_tag user.background, height: 95, width: 165, class: "css-style4" %>
<strong><%= link_to user.username, direct_message_path(user.id), data: {behavior: "chatroom-link", chatroom_id: Chatroom.direct_message_for_users([current_user, user]).id} %></strong>
</div>
<% end %>
</div>
chatroomsearch.js
$(document).on('turbolinks:load',function(){
function searchFunction() {
$("#searchable")
.hide()
.filter(":contains('" + $("input[name='keyword']").val() + "')")
.show();
}
}
【问题讨论】:
-
您是否将 searchFunction 函数包装在 $(document).ready() 函数中?
-
@SarmadSabih 我使用 $(document).on('turbolinks:load', function(){ 我相信这是 document.ready 的替代品
标签: javascript ruby-on-rails ruby-on-rails-5