28. september 2007 - 11:45Der er
7 kommentarer og 1 løsning
onpropertychange i Firefox
Jeg har en træstruktur med 3 niveauer. De første 2 niveauer er varegruppe (hoved, og undervaregruppe), og herunder ligger varer.
Brugeren kan folde varegrupperne ud, og klikke varer af vha checkboxes. Herudover kan man under hver varegruppe vælge "vælg alle". Ved at klikke på denne, afkrydses alle varer i den pågældende varegruppe.
Ud for hvert varegruppenavn skal der være angivet hvor mange varer man har afkrydset. F.eks.
Når en bruger afkrydser en vare, skal tallet opdateres med det samme. Hvis en bruger klikker på "Vælg alle" skal tallet også opdateres. Dette virker fint i IE. I Firefox bliver tallet kun opdateret hvis jeg klikker på en vare, men ikke hvis jeg klikker på "Vælg alle". Jeg bruger onpropertychange, men dette er ikke understøttet af firefox, så hvad gør man så?
Jeg vil også lige nævne at jeg bruger onchange i firefox, men denne bliver kun aktiveret hvis brugeren klikker på checkboxen, og altså ikke hvis jeg via javascript checker checkboxen af.
det ville kunne give nogle nasty sider, hvis et event kunne triggers af koden selv... onchange beskytter derfor dit script mod at gå helt amok
hvis du allerede bruger en funktion til at afkrydse dine checkboxe, kan dette script jo også tælle antallet af checkboxe ?
lav i stedet en form for monitor funktion, som kaldes når man klikker en checkbox af <a href="java script:void(0)" onclick="monitor(true)">Afkryds alle</a> <input type="checkbox" onchange="monitor(false);" name="MonitorActive">
script:
function monitor(Set){ var count = 0; var bx = document.getElementByTagName("MonitorActive") for(i=0; i<bx.length; i++){ if( set == true ) bx.checked = true; if( bx.checked ) count++; }
Mange tak for hjælpen. Jeg har ikke kunnet se skoven for bare træer, for det er jo logisk nok hvad du skriver, montago, at samme funktion jo bare kan klare optællingen. Så dit svar fik mig på rette spor, og min kode virker nu.
Synes godt om
Ny brugerNybegynder
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.