0

如果没有输入任何内容或输入并删除了某些内容,我试图隐藏一个 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>
4

3 回答 3

0
if($('#headersearch').val() ==  "") {
    $("#header_user_list").hide()}
else if($('#headersearch').val() !=  "") {
    $("#header_user_list").html('<%= j render @header_users %>')};

嘿检查你在第二行错过了 $()....

于 2013-07-09T05:44:37.313 回答
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>
于 2013-07-09T05:45:48.570 回答
0

使用 jQuery.change()方法和/或.keyup()事件监听器然后检查字段中的值是否为空,如果是则隐藏元素。如果你想确保你已经覆盖了所有的基础,你可以在同一个元素上使用多个监听器。

于 2013-07-09T05:47:10.433 回答