webForumDet fria alternativet

Hämta ID från Select box.

JavaScript

9 svar · 288 visningar · startad av asp

Medlem sedan aug. 2002733 inlägg
Frågan#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;
Medlem sedan sep. 20021 655 inlägg
#2
id = document.f.val1.options[document.f.val1.selectedIndex].id;
Medlem 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.

Medlem 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.

Medlem 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.

Medlem sedan aug. 2002733 inlägg
#6

oh, damn.

Medlem 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?

Medlem 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");}
Medlem 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

Medlem 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;
}
250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)