Avatar billede madand Nybegynder
27. maj 2010 - 09:02 Der er 3 kommentarer og
1 løsning

jQuery: Lav forskel på 2 knapper

Hej Eksperter,

Jeg har et problem.
Jeg sidder og prøver at lave en funktion som kan tilføje en <tr> til en table, og så fjerne den igen.

Begge dele virker, men jeg kan ikke finde ud af at differentiere mellem to knapper.

Jeg har koden her:

$(document).ready(function() {
            $("div#trainBox input[type=button]").click(AddSection);
            $("div#trainBox input[type=button]").click(DeleteSection);
        });

Som i kan se så laver jeg div#trainBox input[type=button], hvilket gør at hvilken som helst knap kører koden. Jeg har prøvet med div#trainBox input#ButtonID osv, men jeg kan ikke få det til at fungere.

Så hvordan laver jeg forskel på mine to knapper ? :)

På forhånd tak :)
Avatar billede intenz Novice
27. maj 2010 - 10:03 #1
Det du gør, tilføjer click eventen til alle knapper der ligger i det div med ID=trainBox.

Hvis du sætter en ID på hver knap:
<input type="button" id="addSectionButton" value="Add" />
<input type="button" id="deleteSectionButton" value="Delete" />

Kan du referere til deres ID'er direkte:
$("#addSectionButton").click(AddSection);
$("#deleteSectionButton").click(DeleteSection);
Avatar billede madand Nybegynder
27. maj 2010 - 10:27 #2
Tak for det hurtige svar.
jeg syntes også det, er det jeg har prøvet.

Men det virker ikke.
AddSection virker.
Hvis jeg så ændre:

$("#addSectionButton").click(AddSection);
til

$("#addSectionButton").click(DeleteSection);
Så sletter den også sidste række.
Men sætter jeg det sådan her op:
$(document).ready(function() {
            $("div#trainBox input[type=button]").click(AddSection);
            $("div#trainBox input#deleteSectionButton").click(DeleteSection);
        });
så virker kun AddSection og ikke DeleteSection.

Kan det have noget, at gøre med resten af javascriptet?
her er et link til hele scriptet:
http://pastebin.com/D2HA9L7E
Avatar billede intenz Novice
27. maj 2010 - 11:19 #3
Det skal heller ikke være sådan her:
$("div#trainBox input[type=button]").click(AddSection);
$("div#trainBox input#deleteSectionButton").click(DeleteSection);

Men sådan:
$("#addSectionButton").click(AddSection);
$("#deleteSectionButton").click(DeleteSection);
Avatar billede madand Nybegynder
27. maj 2010 - 11:44 #4
Selvfølgelig!
Tak for det! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester