错字不要点击这个Q.

时间:2013-07-09 05:42:55

标签: jquery ruby-on-rails-3

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

3 个答案:

答案 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()事件侦听器,然后检查字段中的值是否为空,如果是,则隐藏元素。如果要确保覆盖所有基础,可以在同一元素上使用多个侦听器。