webForumDet fria alternativet

Hämta ID från Select box.

9 svar · 288 visningar · startad av asp

aspMedlem sedan aug. 2002733 inlägg
#1

Jag vill hämta ID:t från en select-box. Alltså inte value. Så här kan det se ut:

<select name="val1">
  <option id="1">Skolan</option>
  <option id="2">Hemmet</option>
  <option id="3">Annat</option>
</select>

Såhär hämtar jag value, men nu vill jag hämta ID. Hur gör jag då?

valet = document.f.val1.value;
dectgapMedlem sedan sep. 20021 655 inlägg
#2
id = document.f.val1.options[document.f.val1.selectedIndex].id;
aspMedlem sedan aug. 2002733 inlägg
#3

Tack. Kan passa på att fråga hur man smidigast kollar så att inget av de sju select-boxarna jag har, har samma id.

Alltså, jag har sju select-boxar. Varje option har ett ID. Men man får inte välja samma val.

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

För att hämta value så skriver man:

valet = document.f.val1.options[document.f.val1.selectedIndex].value;

Så som du skrev är inte enligt standard även om det funkar i vissa webbläsare.

För att få id:t så kan du skriva id istället för value.

dectgapMedlem sedan sep. 20021 655 inlägg
#5

Eftersom ett id endast får förekomma en gång per sida får du nog tänka om.

aspMedlem sedan aug. 2002733 inlägg
#6

oh, damn.

aspMedlem sedan aug. 2002733 inlägg
#7

Ny fråga.

Jag har en Array med massa nummer. Hur kontrollerar jag att inte det finns två nummer av samma?

JojoxxMedlem sedan juni 20004 308 inlägg
#8

Exempel:

Array.prototype.hasDups=function(){
	var d=new Object();
	for(var i=1;i<this.length;i++){ if(d[this[i]]){ return true; } d[this[i]]=true; }
	return false;
}

var a=[1,2,2,3];
if(a.hasDups()){alert("Det finns dubletter");}
aspMedlem sedan aug. 2002733 inlägg
#9

Ok, om jag vill skapa arrayn från sju olika select-boxar som har har var sitt id.

alltså varje option har ett id

JojoxxMedlem sedan juni 20004 308 inlägg
#10
var fobj=document.forms["formulärsnamn"];
var selectNames=["selectnamna","selectnamnb","selectnamnc"];

var minArray=new Array();
for(var i=0;i<selectNames.length;i++){
	minArray[minArray.length]=fobj.elements[selectNames[i]][fobj.elements[selectNames[i]].selectedIndex].id;
}
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)