2017-05-30 60 views
-1

首先对不起我的英语不好。我不是jQuery专家 我正在尝试为我的应用程序实时搜索查询。于是我米尝试和失败... :(如何使用jquery keypress事件来隐藏匹配或启动班级名称

请检查代码:

$(document).ready(function(){ 
 

 
$("#test").keypress(function(event) { 
 
     var $gettag = $("#test").val(); 
 
     $('p[class^="tr"]').hide(1000); \t      
 
     
 
     //$('p[class^="tr"]').hide(1000); its works fine 
 
    }); 
 
});
<p>Name: <input type="text" id="test" value="Mickey Mouse"></p> 
 

 
<p>This is a paragraph with little content.</p> 
 
<p class="try">This is another small paragraph.</p> 
 
<p class="tiy">iiiiiiiiiiiiiiiThis is another small paragraph.</p>

我想隐藏的P级的输入框是什么类型的 希望可以得到帮助,提前致谢

+0

你的代码已经包含隐藏在''keypress'类tr'了'p'标签。你还期望它做什么? – doutriforce

+0

嗨doutriforce,我想隐藏'尝试'类的'P'标签 – user3230844

+0

您的代码已经这样做了。如果你想隐藏包含“try”类的_only_元素,你的选择器应该是'$('。try')'。 – doutriforce

回答

0

如果我很了解你,你需要根据输入的文字隐藏p元素

因此,如果我输入“try”,它应该隐藏具有“尝试”类的p标签。

看看下面的代码是否符合你的要求。

$(function() { 
 
    $("#test").on('keyup', function(event) { 
 
    var value = $("#test").val(); 
 

 
    if (value.length > 1) { 
 
    debugger; 
 
     var $element = $('p[class*="' + value + '"]'); 
 

 
     if ($element.length == 0) { 
 
     $('p').show(1000); 
 
     } else { 
 
     $element.hide(1000); 
 
     } 
 
    } else { 
 
     $('p').show(1000); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Name: <input type="text" id="test" value="Mickey Mouse"></p> 
 

 
<p>This is a paragraph with little content.</p> 
 
<p class="try test">This is another small paragraph.</p> 
 
<p class="tiy">iiiiiiiiiiiiiiiThis is another small paragraph.</p>

+0

感谢doutriforce,你是救星。非常感谢 – user3230844

+0

它对一个类的工作很好,但是如果一个div有多个像'

这是一个段落。 '它不是不工作。我怎么能克服兄弟 – user3230844

+0

我已经更新了答案。将通配符从'^ ='更改为'* ='。 – doutriforce