423 Stimmen

onClick, um die ID der angeklickten Schaltfläche zu erhalten

Wie findet man die ID der Schaltfläche, auf die geklickt wird?

<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>

function reply_click()
{
}

3voto

alecbaldwin Punkte 182

Dies protokolliert die ID des Elements, das angeklickt wurde: addFields.

<button id="addFields" onclick="addFields()">+</button>

<script>

function addFields(){ 
    console.log(event.toElement.id)
}

</script>

3voto

Mark Lee Punkte 143

Obwohl es 8+ Jahre zu spät, in Antwort auf @Amc_rtty, um dynamisch generierte IDs aus (meine) HTML zu erhalten, habe ich den Index der php-Schleife, um die Schaltfläche IDs zu erhöhen. Ich habe dieselben Indizes mit der ID des Eingabeelements verkettet, so dass ich am Ende id="tableview1" und button id="1" usw. hatte.

$tableView .= "<td><input type='hidden' value='http://".$_SERVER['HTTP_HOST']."/sql/update.php?id=".$mysql_rows[0]."&table=".$theTable."'id='tableview".$mysql_rows[0]."'><button type='button' onclick='loadDoc(event)' id='".$mysql_rows[0]."'>Edit</button></td>";

Im Javascript habe ich den Klick auf die Schaltfläche in einer Variablen gespeichert und sie dem Element hinzugefügt.

function loadDoc(e) {
  var btn = e.target.id;
  var xhttp = new XMLHttpRequest();
  var page = document.getElementById("tableview"+btn).value;

  //other Ajax stuff
  }

1voto

wayneuk2 Punkte 156

Entschuldigen Sie die späte Antwort, aber es geht wirklich schnell, wenn Sie das tun :-

$(document).ready(function() {
  $('button').on('click', function() {
     alert (this.id);
  });
});

Damit wird die ID jeder angeklickten Schaltfläche ermittelt.

Wenn Sie nur den Wert einer an einer bestimmten Stelle angeklickten Schaltfläche abrufen möchten, legen Sie sie einfach in einen Container wie

<div id = "myButtons"> buttons here </div>

und ändern Sie den Code in :-

 $(document).ready(function() {
      $('.myButtons button').on('click', function() {
         alert (this.id);
      });
    });

Ich hoffe, das hilft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X