hej!
Jag vill hämta alla värden(<option> som finns i select och läsa in dem i array när jag klickar på en button. För att sedan kunna jämnföra dem mot en annan <select>. Hur gör man det
mvh
3 svar · 356 visningar · startad av Wolfheart
hej!
Jag vill hämta alla värden(<option> som finns i select och läsa in dem i array när jag klickar på en button. För att sedan kunna jämnföra dem mot en annan <select>. Hur gör man det
mvh
function f(objs) {
var arr = [],
num = objs.length;
for (var j = 0; j < num; ++j)
arr[j] = objs[j].value;
}
<form>
<select name="[b]s[/b]">
...
</select>
<button type="button" onclick="f(this.form.elements['[b]s[/b]'].options)">Läs värden</button>
</form>
Värdena ligger nu i arr.
:)
Varför vill du lägga in dem i en array?
hej igen!
Tack så mycket för hjälpen "Peter S"
Min slut giltiga kod blev så här
function addGroup(objs)
{
var x=document.getElementById("allGroups")
var i = x.options[x.selectedIndex].text;
var option = new Option(i, 1);
var arr = [];
var num = objs.length;
var bol=true;
for (var j = 0; j < num; ++j)
{
arr[j] = objs[j].text;
if(option.text==arr\[j\])
{
bol=false;
break;
}
else
{
bol=true;
}
}
if(bol==true)
{
document.groupForm.memberGroups.options.add(option,1);
}
x.remove(x.options[x.selectedIndex].index);
}
Och det som jag var ute efter var att ur den vänstra select:en ville jag jämnföra om det värdet finns i den högra select:en.. Och om det finns i den högra tas bara option:en bort ur den vänstra. Finns den inte läggs värdet från den vänstra in i den högra. (Lite rörigt beskrivet :) )Därför ville jag ha in värdera i en array - "Cheguelin" så det skulle vara enkelt att loopa igenom och jämföra
Tack än engång.. trevligt med er på webforum, de flesta problem brukar ni snabbt kunna hjälpa till med :)