如果没有输入任何内容或者输入和删除了某些内容,我试图隐藏div。我究竟做错了什么?我是jQuery的新手,谢谢。
index.js.erb的:
if($('#headersearch').val() == "") {
("#header_user_list").hide()}
else if($('#headersearch').val() != "") {
$("#header_user_list").html('<%= j render @header_users %>')};
视图:
<%= form_tag users_path, :method => 'get', :class => "navbar-search", id: "user_header_search_form", style: "margin-left: 90px;" do %>
<%= search_field_tag :search, params[:search], placeholder: "Find People", :class => "search-query", id: "headersearch" %>
<% end %>
<ul class="users" id="header_user_list"></ul>
答案 0 :(得分:0)
if($('#headersearch').val() == "") {
$("#header_user_list").hide()}
else if($('#headersearch').val() != "") {
$("#header_user_list").html('<%= j render @header_users %>')};
嘿,检查你在第二行错过了$()....
答案 1 :(得分:0)
试试这个,
<强>更新强>
<script>
$('#headersearch').on('keyup',function(){
if($(this).val() == "") {
$("#header_user_list").hide()
}// add $ before selector
else {// remove if condition from here
$("#header_user_list").html('<%= j render @header_users %>');
// You should use ajax here
};
});
</script>
答案 2 :(得分:0)
使用jQuery .change()
方法和/或.keyup()
事件侦听器,然后检查字段中的值是否为空,如果是,则隐藏元素。如果要确保覆盖所有基础,可以在同一元素上使用多个侦听器。