2016-03-21 3 views
-1

Warum gibt mir meine Taste nur den Wert meiner ersten Spalte in einer Tabelle, wenn ich die andere Taste angeklickt habe gibt es mir die gleiche Ausgabe wie die erste Säule. hier ist der Code das Element in der TabelleWarum gibt mir dieser Button nur den Wert meiner ersten Spalte in einer Tabelle

try { 
 
     while($row=$query->fetch(PDO::FETCH_NUM)) 
 
     { 
 
      echo 
 
      '<tr> 
 
       <td ><div id="studID">'.$row[0].'</div></td> 
 
       <td>'.$row[1].'</td> 
 
       <td>'.$row[2].'</td> 
 
       <td>'.$row[3].'</td> 
 
       <td> 
 
        <button class="button active" 
 
         name="button"value="'.$row[0].'">view</button> 
 
       </td> 
 
      </tr>'; 
 
     } 
 
     echo '</table>'; 
 
    } catch(PDOException $e){ 
 
     echo "Error: ".$e; 
 
    }

zeigen, und hier ist die codierte, wenn ich die Taste

<script type="text/javascript"> 
 
\t $(".button").click(function(){ 
 
\t  var id =$('.button').val(); 
 
\t  alert (id); 
 

 
\t }); 
 
\t </script>>

thanks in advance. 
geklickt
+0

Sie müssen über das Objekt iterieren die alle Taste, um values.Follow diese: https://api.jquery.com/each/ – Indrajit

+0

Kannst du mir ein Beispiel geben? Ich kann das Beispiel im Link nicht verstehen. Entschuldigung, ich bin ein Anfänger in PHP. –

+1

probiere 'var id = $ (this) .val();' anstelle von 'var id = $ ('. Button'). Val();' drinnen klicken Funktion –

Antwort

0

Verwenden this Objekt wie unten:

<script type="text/javascript"> 
$(".button").click(function(){ 
    var id =$(this).val(); 
    alert (id); 
}); 
</script>> 
0

Klicken Sie immer auf das erste übereinstimmende Element von dom. Wenn Sie alle Schaltflächen bekommen wollen, dann erhalten Sie mit for() loop, jeder Schleife, Kartenfunktion, oder Sie können der Unterstrichbibliothek folgen.

0

Sie Ihrer Taste, um den Wert nicht geben, anstatt in Ihrer Klick-Funktion

$("td").each(function() { 
    var id = $('td').val(); 
    alert(id); 
}); 

Auf diese Weise tut es jedes Ihrer td Elemente iterieren und eine Warnung mit dem Wert davon produzieren. Oder Sie können dies tun:

var valueArray 

$("td").each(function() { 
    var id = $('td').val(); 
    valueArray.push(id); 
}); 

alert(valueArray); 

Welche sollte hoffentlich eine Warnung mit allen Werten in ihm tun.

und für den Button tun:

<button class="button active" name="button">view</button> 

Aber bedenken Sie, dass diese es für alle td-Elemente auf Ihrer Seite tun also, wenn Sie diese mehr als einen Tisch haben für jeden td eine Warnung tun in jeden Tisch, den du hast. Um dies zu vermeiden, geben Sie der Tabelle eine ID und ersetzen Sie $("td") durch $("#tableID td").

0

Sie müssen alle verfügbaren Klassen mit der Funktion jQuery.each() durchlaufen. Während hier erhalten Sie nur den ersten Elementwert.

Sie können versuchen, etwas wie unten:

<script type="text/javascript"> 
$(".button").click(function(){ 
    $(".button").each(function(index) { 
    alert($(this).val()); 
}); 
}); 
</script> 
Verwandte Themen