• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Uhrzeitdropdown-Auswahl dynamisch erzeugen

freakyBOi

Neues Mitglied
Das Problem ist eigentlich sehr simple, aber irgendwie bekomm ichs gerade nicht hin :sad:
Ich möchte einfach nur die Optionen 0 bis 23 Uhr in einem Dropdownmenü dynamisch erzeugen lassen.

So bin ich die Sache angegangen:

Code:
[...]
<script>
function uhrzeitdropdown(){
	
	var uhrzeitoptions="";
	for(p=0;p<24;p++){
		if(p==8){
			uhrzeitoptions+="<option value='"+p+"' selected='selected'>"+p+" Uhr</option>";
		}else{
		uhrzeitoptions+="<option value='"+p+"'>"+p+" Uhr</option>";
		}
	}	
	ar=new Array();
	ar=document.getElementsByName("uhrzeitoptions");
	for(i=0;i<ar.length;i++){
		var akttuellesItem = document.getElementsByName("uhrzeitoptions").item(i);		
		aktuellesItem.innerHTML=uhrzeitoptions;	

	}
}
</script>
</head>
<body onload="uhrzeitdropdown()">
 <div>
    	<select name="select-choice-1" id="startuhrzeit">
        <div name="uhrzeitoptions">
        </div>
	</select>
    </div>

<div>
    	<select name="select-choice-1" id="endeuhrzeit">
        <div name="uhrzeitoptions">
        </div>
	</select>
    </div>
[..]

Da ist bestimmt nur eine Kleinigkeit falsch. Wer kann mir weiterhelfen?
 
Also der letzte Teil mit dem Array ist ja schon mal komisch. Denn das Element uhrzeitoptions hat doch bestimmt keine 23 child-Elemente oder? Bzw wäre mir es neu dass man auf nicht existierende Elemente zugreifen kann.
Hier mal eine simplere Variante:

Code:
function createTimeDropdown(elId, selTime) {

var selectEl = document.getElementById(elId);
for(var i=0; i < 24; i++) {
  var opt = document.createElement("option");
  opt.value = i;
  opt.innerHTML = i+" Uhr";
  if(i == selTime) opt.selected = "selected";
  selectEl.appendChild(opt);
}  

}
HTML:
<select id="uhrzeit">
</select>

<script type="text/javascript">
  createTimeDropdown("uhrzeit", 8);
</script>
Den Code hier kannst du natürlich auch mit mehreren Selects verwenden. Halt 2 Funktionsaufrufe :)

---

Edit:

Ich seh übrigens grade erst deine Logik hinter deinem Code :) Aber in Selects können leider keine divs stehen. Sondern nur Options.
 
Zurück
Oben