Mapster Skrevet 26. juni 2006 Del Skrevet 26. juni 2006 Jeg har en tabell som lister opp alle radene i en mysql tabell, hver linje har en avkryssningsboks (checkbox) som får navnet "guild[x]" hvor x er lik id feltet i databasen. Jeg har laget meg en funksjon i javascript som sjekker om en boks er "checked". function doOnClick(cbox) { box = eval("document.guilds.guild[" + cbox + "]"); box.checked = !box.checked; if(box.checked == true) color="#818181"; if(box.checked == false) color=""; return color; } Funksjonen blir kjørt hver gang noen trykker på en rad, altså: <tr onClick=this.style.backgroundColor=doOnClick('x')> Effekten skal bli at raden får en annen bakgrunnsfarge når checkboxen i raden er merket, samtidig som hver gang en trykker på raden så markeres og avmerkeres boxen. Problemet er at dette ikke forekommer.... Noe som fungerer er hvis jeg bytter navn på checkboxene til "guildx" (guild1, guild2,guild3 osv...) og endrer funksjonen deretter... Hvorfor fungerer det ikke med "[ ]" i navnene? Lenke til kommentar
Mapster Skrevet 27. juni 2006 Forfatter Del Skrevet 27. juni 2006 Ingen som kan hjelpe? Lenke til kommentar
popup Skrevet 30. juni 2006 Del Skrevet 30. juni 2006 Jeg har en tabell som lister opp alle radene i en mysql tabell, hver linje har en function doOnClick(cbox) { box = eval("document.guilds.guild[" + cbox + "]"); box.checked = !box.checked; if(box.checked == true) color="#818181"; if(box.checked == false) color=""; return color; } Prøv dette i koden din og se om det kan hjelpe deg på vei. Fjernet noe fra koden din og da skulle det vel kunne fungere. function doOnClick(cbox){box = eval("document.guilds.guild" + cbox + ""); if(box.checked == true) color="#818181"; if(box.checked == false) color=""; return color;} Lenke til kommentar
Mapster Skrevet 1. juli 2006 Forfatter Del Skrevet 1. juli 2006 (endret) Har glemt å si at jeg har løst problemet... Men det fungerer det du sier ja, noe jeg også nevnte i det originale innlegget. Men problemet med den løsningen du forslår er at det er vanskelig å bruke dette i php etterpå. edit: Og ser forresten at du også fjærnet linjen som setter checkboxen til checked/unchecked, som er det mest essensielle i hele funksjonen... Hvis noen er interresert i løsningen så er den slik: Funksjons kall: <tr onClick=this.style.backgroundColor=doForm('$data[OpponentID]')> // checkbox: <input type=\"checkbox\" name=\"guild[]\" id=\"guildID$data[OpponentID]\" value=\"$data[OpponentID]\"> (id feltet på checkboxene får verdier som "guildID1, guildID2, guildID3" osv.) Selve funksjonen: function doForm(cbox) { document.getElementById('guildID' + cbox).checked = !document.getElementById('guildID' + cbox).checked; if(document.getElementById('guildID' + cbox).checked) color="#858585"; if(!document.getElementById('guildID' + cbox).checked) color=""; return color; } Så bruker jeg id feltet til å referere til checkboxen istedet for navn feltet. Endret 1. juli 2006 av MapSter Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå