Jquery – Show divs based on text search

jqueryjquery-ui

I have a text input search that is supposed to filter divs based on the title of the div. Here is the code that is not working:

$('.contact-name').each(function(){
  var txt = $('#search-criteria').val();
  $('this').find(txt).show()      
});

What am I doing wrong?

EDIT:
To clarify the variable txt is what the user has typed in the input field. An example would be if txt was Cha I would want this row to show:

<div class="contact-name"><h3><a href="##">Charles Smith</a></h3></div>

Best Answer

try this

var txt = $('#search-criteria').val();
$('.contact-name:contains("'+txt+'")').show();

documentation for :contains() Selector

fiddle example : http://jsfiddle.net/WBvTj/2/

UPDATE CASE INSENSITIVE:

var txt = $('#search-criteria').val();
$('.contact-name').each(function(){
   if($(this).text().toUpperCase().indexOf(txt.toUpperCase()) != -1){
       $(this).show();
   }
});

fiddle Example : http://jsfiddle.net/WBvTj/4/