2017-01-31 12 views
3

Hallo i table tbody auf Seite suchen Ich versuche, die Suche wie ctrl + F Suche sein sollte, ist dies mein html und PHP-Code:Wie kann ich suchen wie ctrl + f mit jquery implementieren

entnehmen Sie bitte auf das Bild und Link verknüpft unten für die Quellen.

<table> 
    <thead> 
    <tr><td><input type="text" placeholder="Search Student id="searchStudent"> </td> 
    <td></td><td></td><td></td><td></td><td></td></tr> 
    </thead> 

    <tbody> 
    <tr> 
    <td> 
    <span><img src="<?php echo $gdScoreData['profile_pic']; ?>"/></span> 
     <p><?php echo $gdScoreData['student_fname'];?> <?php echo $gdScoreData['student_lname'];?></p> 
<p><b>Hallticket</b> : S<?php echo $gdScoreData['student_pid']; ?>J<?php echo $jobID; ?></p> 
     </td> 
    <td></td><td></td><td></td><td></td><td></td></tr> 

1. tr wird hier PHP-Code in der Nähe der oben eine in HTML ist es wie in Bild gezeigt aussieht:

<tr><td><span><img src="profile_pic/first_1479536519.jpg" width="50" /></span><p>Robert Smith</p><p><b>Hallticket</b> : S27J2</p></td></tr> 
</tbody> 
</table> 

Das ist mein Javascript-Code wie Strg + F

/* Search Student like ctrl+f start */ 
$("#searchStudent").on("keyup", function() { 
    var value = $(this).val(); 
    console.log(value); 
    $("table tbody tr").each(function(index) { 
     if (index !== 0) { 

      $row = $(this); 

      var id = $row.find("td:first").text(); 

      if (id.indexOf(value) !== 0) { 
       $row.hide(); 
      } 
      else { 
       $row.show(); 
      } 
     } 
    }); 
}); 
/* Search Student like ctrl+f end*/ 
suchen

enter image description here

Hier ist die Quelle von wo ich versucht habe:

+0

Was genau willst du? Dein jsfiddle-Code scheint gut zu funktionieren ... – Andy

+0

Das ist nicht meine js Geige, ich versuche das zu implementieren, aber es funktioniert nicht für mich. Die Suche funktioniert nicht. Ich denke, Fehler ist irgendwo hier: 'var id = $ row.find (" td: first ") .text();' –

Antwort

5

i Ihre js Geige Code jetzt arbeiten sie geändert haben jsfiddle.net/rFGWZ/3406/

 $("#search").on("keyup", function() { 
     var value = $(this).val(); 
     if(value!='') { 
      $("table tbody tr").hide(); 
     }else{ 
      $("table tbody tr").show(); 
     } 
     $('table tbody tr td:contains("'+value+'")').parent('tr').show(); 
     }); 
+0

Funktioniert nicht. 'Td spanne img p name p halltticket 'tatsächlich ist der Wert in' last p' –

+0

Es funktionierte jetzt danke. –

1

Grundsätzlich Ihr Code funktioniert, aber es ist nicht Kommissionierung Elemente in Ihrem Tag try up Folgendes hinzufügen:

var id2 = $row.find("b:first").text(); 

und ändert dies:

if (id2.indexOf(value) !== 0) { 

dann auf der Basis Suche Fett Inhalt und es sollte funktionieren

Sie könnten es so versuchen und auf jeden Teil einzeln suchen :

$id = $row.find("td:first"); 
var id2 = $id.find("b:first").text(); 
var id3 = $id.find("p:first").text(); 
if (id2.indexOf(value) !== 0 && id3.indexOf(value) !== 0) { 
+0

Keine improvents. –

+0

@AbdulWaheed Wie wäre es mit den Editier-Shows? – krisph

0
$("#searchStudent").on("keyup", function() { 
    var value = $(this).val(); 
    if(value!='') { 
     $("table tbody tr").hide(); 
     }else{ 
     $("table tbody tr").show(); 
    } 
    $('table tbody tr td:contains("'+value+'")').parent('tr').show(); 
}); 

ich mit dieser Hilfe gelöst haben.

Verwandte Themen