2011-09-07 14 views
6

Ho una pagina con molte informazioni al suo interno e sarebbe bello se l'utente avesse fatto clic su un link e la barra di ricerca del browser fosse saltata fuori come se avesse premuto Ctrl + F. Potrei interrogare il database, dato che le informazioni arrivano da lì, ma non voglio ricaricare la pagina sul link click.È possibile simulare una combinazione di tasti Ctrl + F usando Jquery?

+2

http://stackoverflow.com/questions/832059/definitive-way-to-trigger-keypress-events-with-jquery – Neal

+0

possibile duplicato di [Usa ricerca browser (Ctrl + F) tramite un pulsante nel sito Web?] (htt p: //stackoverflow.com/questions/8080217/use-browser-search-ctrlf-through-a-button-in-website) – Sheepy

risposta

6

Alcuni browser supportano window.find()

+1

Sembra la strada da percorrere. L'ho appena testato su FF, Chrome e IE9. –

2

So che questo post è vecchio, ma penso che ho risolto questo utilizzando jQuery:

//i am assuming you are searching through a table... 
    //search input field listening for key pressed 
    $('.search_input').keyup(function (e) { 
     //listening if the key pressed is the enter button 
     if (e.which === 13) { 
      //inserting the value of textfield content, you can add if statement to check if the field is null or empty 
      var search_param = $(this).val(); 
      //value of field stored into a variable 
      $('td').removeAttr('class'); 
      //remove all classes attributed to a td AND search all td to find the one that march the search parameter 
      if ($('td:contains("' + search_param + '")').html() !== undefined) { 
       //if there is any td that has that record... then check for the closest tr and add a class with item_found as value 
       $('td:contains("' + search_param + '")').closest('tr').attr('class', 'item_found'); 
       //add some highlight to it. 
       $('td:contains("' + search_param + '")').closest('tr').css({background:'yellow',color:black}); 
       //then scroll to the item 
       $(window).scrollTop($('.item_found').first().offset().top); 
      } else { 
       //if item is not found display no result found 
       alert("Sorry no result found") 
      } 
     } 
    }); 
Problemi correlati