2017-05-16 4 views
1

Ich versuche, nur das Feld POSTCODE in diesem Skript abzurufen.Abrufen einer bestimmten Spalte/POSTCODE

Gibt es eine Möglichkeit, nur diesen Wert zurückzugeben?

<script> 
    function LookuptableWend(query) { 
     var tr = document.getElementsByTagName("tr"),y=0; 
     for (i = 0; i < tr.length; i++) { 
      if((y<25)&&(query)&&(tr[i].innerHTML.search(query)>-1)){ 
       tr[i].className="found";y+=1; 
      } 
           else{tr[i].className=""; 
      } 
     } 
    } 
</script> 

<table class="lookuptable" > 
<tbody> 
    <tr> 
     <td>0097040K</td> 
     <td>Hospital Name 1</td> 
     <td>2/70 Kent Street</td> 
     <td>Block 1 </td> 
     <td>DEAKIN</td> 
     <td>ACT</td> 
     <td>2600</td> 
     <td>02 6232 4793</td> 
    </tr> 

<script>LookuptableWend(document.getElementById("search").value);</script> 
+0

'tr [i] verwenden könnte .getElementsByTagName ("td") [ 0] .innerHTML' – Peter

+0

Hallo Peter, habe es versucht, aber es gibt nichts zurück ng. – detonate

+0

In welcher Spalte ist Ihre Postleitzahl? Was möchten Sie auch zurückgeben, wenn mehrere Zeilen und mehrere Postleitzahlen vorhanden sind? – Pete

Antwort

0

Sie querySelectorAll mit nth-child (Kommentare in js unten)

function LookuptableWend(query) { 
 
    var td = document.querySelectorAll(".lookuptable td:nth-child(7)"); // get all postcode cells 
 
    
 
    for (i = 0; i < td.length; i++) { 
 
     if (td[i].innerHTML.search(query) != -1) { // search them for your query string 
 
      td[i].parentNode.className = "found"; // add a class to the row 
 
     } else { 
 
      td[i].parentNode.className = ""; 
 
     } 
 
    } 
 
} 
 

 
LookuptableWend(2600);
.found { 
 
    background: green; 
 
}
<table class="lookuptable"> 
 
    <tbody> 
 
    <tr> 
 
     <td>0097040K</td> 
 
     <td>Hospital Name 1</td> 
 
     <td>2/70 Kent Street</td> 
 
     <td>Block 1 </td> 
 
     <td>DEAKIN</td> 
 
     <td>ACT</td> 
 
     <td>2600</td> 
 
     <td>02 6232 4793</td> 
 
    </tr> 
 
    <tr> 
 
     <td>0097040K</td> 
 
     <td>Hospital Name 1</td> 
 
     <td>2/70 Kent Street</td> 
 
     <td>Block 1 </td> 
 
     <td>DEAKIN</td> 
 
     <td>ACT</td> 
 
     <td>2601</td> 
 
     <td>02 6232 4793</td> 
 
    </tr> 
 
    <tr> 
 
     <td>0097040K</td> 
 
     <td>Hospital Name 1</td> 
 
     <td>2/70 Kent Street</td> 
 
     <td>Block 1 </td> 
 
     <td>DEAKIN</td> 
 
     <td>ACT</td> 
 
     <td>2600</td> 
 
     <td>02 6232 4793</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+1

Danke für das Aufzeigen von Pete, das funktioniert! – detonate

+0

Gern geschehen, froh, dass es geholfen hat :) – Pete

Verwandte Themen