function MM_showHideLayers() { //v6.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; } // obj.visibility=v; obj.display=v; } }
og så kunne jeg virkelig godt tænke mig et andet script som går ind og finder ud af hvad år vi har nu og så laver den en datoscript som automatisk laver en dropdown som går fra 16 år siden og så 100 år tilbage fra det år man er i. dvs den ser sådan ud:
Hvis vi lige tager en ting af gangen. Så vidt jeg kan se, skal tekst-feltet under din dropdown gøres synlig, når der vælges 'Andet' fra din dropdown. I din SelectedMethod metode sammenligner du på selectedIndex (som er numerisk) med en streng, så din if(i == 'andet') statement altid vil blive false og MM_showHideLayers derfor aldrig blive kaldt.
Hvis du erstatter din SelectedMethod() med følgende, sammenligner du på den valgte værdi i din dropdown (i stedet for indekset til den valgte værdi) og MM_showHideLayers burde derfor blive kaldt når 'Andet' vælges. Jeg har desuden tilføjet at div'en gemmes igen hvis test 1 eller 2 vælges efter 'Andet' er valgt.
function SelectedMethod() { var dd = document.getElementById('status'); var i = dd.options[dd.options.selectedIndex].value.toLowerCase();
if (i == 'andet') MM_showHideLayers('andet','','show','server','', 'hide'); else MM_showHideLayers('andet','','hide','server','', 'hide'); }
window.onload = function(){ var sel = document.getElementById("dinSelect"); var aar = new Date().getFullYear(); for(i=aar-16,im=aar-101;i>im;i--) sel.options[sel.length] = new Option(i,i); }
crazysnap - lækkert, det virker - så blev jeg lidt klogere, nu har jeg flere felter hvor man kan vælge "alt" i, så der vil komme flere dropdowns af samme type på samme side. tilføjer jeg bare SelectedMethod funktionen flere gange.. feks: function SelectedMethod() { var dd = document.getElementById('status_to'); var i = dd.options[dd.options.selectedIndex].value.toLowerCase();
if (i == 'andet') MM_showHideLayers('andet','','show','server','', 'hide'); else MM_showHideLayers('andet','','hide','server','', 'hide'); }
eller noget ?
Roenving - jeg er ikke den bedste til javascipt.. hvordan aktivere jeg functionen i en dropdown ?
roenving - hahahah glem det.. det virker jo perfekt. jeg var ik helt med nemlig, men nu er jeg :P.. hvis du kan svarer på mit andet spørgsmål oppe over må du meget gerne, jeg ved ikke om crazysnap er på lige nu, og er igang med at lave det nu :o)
ah okay skal funktionen så se sådan ud som du har lavet den eller skal jeg rette den til med de oplysninger jeg skriver i SelectedMethod(this,'andet17');">
-- grundlæggende skal du kun sætte parametrene i kaldet, og så lade funktionen stå som den er, men jeg har ikke gennemskuet præcis, hvor du vil hen (hvad er elementet 'server' f.eks. ?-)
-- og hvis det er fuldstændig forskellige værdier, kan det være at grundkonfigurationen af funktionen bør være helt anderledes (det kan sågar ske, at der kan være fornuft i at lave flere forskellige, men det lyder absolut tåbeligt og usandsynligt !-)
uanset hvilken en af dem(evt begge eller flere endnu) man vælger "andet" i så skal der komme et ekstra felt neden under som du kan se i div felterne :o) select boksene vil hedde noget forskelligt så jeg kan smide inforerne op på min server eller pr mail.
Det var så lidt og jeg takker også for pointene. :)
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.