Avatar billede snoopidoo Praktikant
15. januar 2007 - 13:26 Der er 4 kommentarer

genbrug en liste flere steder på samme side

Jeg er ved at lave et spørgeskema, hvor jeg beder om fødselsdatoer via select lister.

Jeg har dog en hel del, og ville gerne kunne lave en enkelt eller en med dage, en med måneder og en med år, og så kulle kalde dem ind alle de steder hvor jeg vil spørge om fødselsdage.

Det skulle gerne være javaScript, men er ikke sikker på hvordan det skal se ud.
Avatar billede roenving Novice
16. januar 2007 - 01:14 #1
Hvornår får du brug for det ?-)

-- hvis det skal laves dynamisk, altså på baggrund af brugerens valg, vil det nemmeste være, at de lægges sammen i et andet element (f.eks. en div, en span eller en td !-), som så kan klones ...

-- men hvis det handler om, at du har dem flere gange i en formular, vil det letteste være, at det du laver serverside bare genbruger en stak data !o]
Avatar billede snoopidoo Praktikant
17. januar 2007 - 16:47 #2
Det vil ikke være brugeren der bestemmer noget.
Jeg skal bare oprette en masse af dem, med dato, måned og år, og ville kunne have en lettere måde at gøre det på, end at skulle copy/paste 4400 tegn hver gang jeg skal spørge om fødselsdato.
Avatar billede roenving Novice
20. januar 2007 - 11:51 #3
Man kan da godt lave noget à la:

<style type="text/css">
.enAndenKlasse{background:yellow;}
</style>

<script type="text/javascript">
onload = function(){
  var divs = document.getElementsByTagName("div");
  var dateDiv = null,style="";
  for(i=0,im=divs.length;im>i;i++){
    if(divs[i].className.indexOf("datoDiv")>-1){
      if(!dateDiv)
        dateDiv = divs[i].cloneNode(true);
      else{
        style = divs[i].className.replace(/datoDiv/g,"");
        divs[i].parentNode.replaceChild(dateDiv,divs[i]);
        divs[i].className = style;
      }
    }
  }
}
</script>

<div class="datoDiv">
  <br>
  <select name="dag">
    <option>Vælg dato</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="osv">osv</option>
  </select>
  <select name="maaned">
    <option>Vælg måned</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="osv">osv</option>
  </select>
  <select name="aar">
    <option>Vælg år</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="osv">osv</option>
  </select>
</div>
<br>
<div class="enAndenKlasse datoDiv">
</div>
<br>
<div class="enAndenKlasse">
  <br>
</div>

-- som det fremgår styres kloningen af css-klassen, som selvfølgelig også kan/må bruges til noget styling, men ikke nødvendigvis, da der jo kan være flere klasser på ...

-- ulempen er helt klart, at man kloner for good, dvs. at alle egenskaber følger med, hvorfor f.eks. id'er ikke er tilladte, og name-propertyerne er ens, og der derfor skal aflæses fra et array serverside (og i f.eks. php betyder det, at navnene skal være i arrayform: dag[] !-)
Avatar billede snoopidoo Praktikant
09. november 2010 - 14:34 #4
Jeg fik lavet et script der gjorde det, noget lignende det der. Lægger du et svar?
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