jquery ermitteln welcher button geklickt wurde

Maniac

Erfahrenes Mitglied
Ich möchte eine Funktion schreiben mit welcher ich ermitteln kann welches Element geklickt wurde. Es soll Dynamisch aufgebaut sein und sieht wie folgt aus:

HTML:
<!-- Wird in einer Schleife mehrmals wiederholt -->
<button class="reply" value="<?php echo $id; ?>">Antworten</button>
<button class="quote" value="<?php echo $id; ?>">Zitat</button>

Nun möchte herausfinden welcher Button mit welcher Klasse geklickt wurde:

HTML:
<script type="text/javascript">
var id = "";
var action = "";

function redirectToUrl(){
      	id = // hier soll die angeklickte Value rein
      	action  = // und hier die geklickte Klasse
      	
      	if(id != "" && action != ""){
           window.location.href = "'.$this->baseUrl().'/teammenue/"+action+"news/id/"+id;
        }
      }
      
     

      $(document).ready(function(){
       $(".reply,.quote").click(function(){
      		redirectToUrl();
      	});
	      
  	  });	
</script>

Nur komm ich einfach nicht drauf welcher Button mit welcher Value geklickt wurde....
Weiß jemand Rat?
 
z.B. so :
Javascript:
$(document).ready(function(){
    $(':button').click(function(){
       doSth(this);
    });
});


function doSth(btn){
    id = $(btn).val();
    class = $(btn).attr('class');
}
 
Vielen Dank rd4eva :)

jetzt kapier ich auch die Parameterübergabe mit jQuery....
Hatte das vorher auch schon so in etwa gehabt, nur ohne "btn" und das funktionierte nicht.
 
Schön das es dir geholfen hat.

Da ich nicht ganz verstehe was du mit "jQuery Parameterübergabe meinst" noch eine kleine Erklärung:
Es wird einfach nur ein der onClick Eventhandler an alle Button-Elemente gebunden welcher besagt das die funktion doSth mit sich selbst (dem jew. Button Element) als Parameter aufgerufen werden soll.
Das ganze entspricht folgender schreibweise:
HTML:
<button class="reply" value="id1" onclick="doSth(this);">Antworten</button>
Javascript:
function doSth(nurEinName){
    alert($(nurEinName).val());
}

Eine alternative dazu wäre z.B folgendes gewesen:

Javascript:
$(document).ready(function(){
    $(':button').click(function(){
       doSth($(this).val(),$(this).attr('class'));
    });
});

function doSth(id,class){
    alert(id);
    alert(class);
}
 

Neue Beiträge

Zurück