06. april 2011 - 09:01Der er
11 kommentarer og 1 løsning
Check/Uncheck alle boxe
Hej Eksperter.
Jeg har haft googlet rundt omkring, for at finde en javascript-funktion til at checke / unchecke alle bokse.
Jeg kan sagtens finde/og selv lave en funktion til at finde én specifik checkbox med ét navn.
Mit problem er, at jeg skal bruge en funktion som automatisk finder alle checkboxe i én navngiven formular, og derefter ser hvorvidt den enkelte box er checked eller ej.
Grunden til dette, er at alle boxe generes dynamisk vha. ASP, og har forskellige navne som i retning af "user21", "user47", "user32", etc.
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
Jeg samler ikke points - ellers tak. Læg selv et svar og accepter det =)
Synes godt om
Slettet bruger
06. april 2011 - 11:36#7
Nu ved jeg ikke hvor meget styr du har på ASP oveni JS. Men jeg poster lige det essentielle i scriptet:
Formularens åbning: <form method='post' id='form" & id & "' action='videresendelseslinket'
Knap til at checke/unchecke alle <a href='java script:void(0);' onclick='doAllCheckboxes('form" & id & "')'>Tryk</a>
JS: function doAllCheckboxes(formName) { var a = document.getElementById(formName).document.getElementsByTagName("input"); for (var i = 0, j = a.length; i < j; i++) { if (a[i].type == "checkbox") if (a[i].checked == true) a[i].checked = false; else a[i].checked = true; } }
Som det ser ud lige nu, checker og unchecker den ALLE checkboxe i ALLE formularer.. Det vil sige, at den ikke ser formName variablen korrekt?
Derudover; en lille tillægsopgave, er det muligt at den kan frasortere nogle af checkboxene? Det er fordi, at hver bruger skal godkendes af 3 forskellige administratorer, som alle har én checkbox ud for brugeren. Fx: <input name='" & id & "_" & id2 & "solveig' type='checkbox' value='1' style='background: red; border: none; padding: 2px;' title='Solveig' /> <input name='" & id & "_" & id2 & "anders' type='checkbox' value='1' style='background: red; border: none; padding: 2px;' title='Anders' /> <input name='" & id & "_" & id2 & "finn' type='checkbox' value='1' style='background: red; border: none; padding: 2px;' title='Finn' />
Her skal det så være muligt, at der kommer én check alle boxe for Solveig, én for alle Anders og én for alle Finn.
Eller er det bedre, at lave godkendelserne på en helt anden måde?
Det, der står foran getElementsByTagName, er det element/object, der skal søges i. Det kan være hele dokumentet ... eller, det kan være et element, du har fundet med document.getElementById. Ved ikke, om det hjalp =)
Synes godt om
Slettet bruger
06. april 2011 - 12:20#10
Aahhh, ja selvfølgelig :) Tak
Har du et foreslag til mit andet problem? :) Så det kun er én gruppe af checkboxes indenfor én formular som bliver checked ?:)
Synes godt om
Slettet bruger
06. april 2011 - 12:27#11
Jeg fandt en løsning på mit andet problem, ved at lave forskellige værdier på de 3 inputs, og få JS til at tjekke for værdien også.
Så JS funktionen endte med at se sådan ud:
function doAllCheckboxes(formName, value) { var a = document.getElementById(formName).getElementsByTagName("input"); for (var i = 0, j = a.length; i < j; i++) { if (a[i].type == "checkbox" && a[i].value == value) if (a[i].checked == true) a[i].checked = false; else a[i].checked = true; } }
Og kaldet af funktionen endte med at se sådan ud: <a href='java script:void(0);' onclick='doAllCheckboxes('form" & id & "', 1)'>Tryk</a>
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.