skymanMedlem sedan juli 20012 450 inlägg Hej!
Jag har en select-box och några knappar.
När jag trycker på en av knapparna så ska vissa val i selectboxen select:as.
Hur bör man göra för att det ska bli som bäst?
<input type="button" name="b1" onClick="" value="Knapp 1">
Jag vill skicka med de id som ska selectas, men hur? Kommaseparerade typ(?):
onClick="SelectLan('12351,15351,355455554');"
Och hur tar jag hand om dem i functionen? Hur "splittar" jag det som jag skickar med?
Är detta ett bra arbetssätt eller finns det nått bättre?
Peter SMedlem sedan dec. 20025 483 inlägg När man ändå är igång ;)
Red. Glömde att lägga till "return false".
<script type="text/javascript">
<!--
function SelectLan(){
var
f=document.forms["f"].elements["s"].options,
i=f.length,
a=arguments,
j=a.length;
while(i-->0){
for(var k=0; k < j; k++){
if(a[k]==f[i].id){
f[i].selected=true;
break;
}
}
}
return false;
};
//-->
</script>
...
<form name="f">
<select name="s" size="10" multiple="multiple">
<option id="1">ID 1</option>
<option id="2">ID 2</option>
<option id="3">ID 3</option>
<option id="4">ID 4</option>
<option id="5">ID 5</option>
<option id="6">ID 6</option>
</select>
<input type="button" onclick="return SelectLan(1,3,6)" value="Knapp 1">
</form>
:)
dectgapMedlem sedan sep. 20021 655 inlägg Jag är inte säker på om jag förstår frågan rätt.
<script type="text/javascript">
function SelectLan(){
anArray = new Array();
for(i=0; i<arguments.length; i++){
anArray[i]=arguments[i];
for(j=0; j<document.forms['aForm'].aSelect.options.length; j++){
if(document.forms['aForm'].aSelect.options[j].value==anArray[i]){
document.forms['aForm'].aSelect.options[j].selected='selected';
}
}
}
}
</script>
...
<form name="aForm">
<select name="aSelect" multiple="multiple">
<option value="13515">13515</option>
<option value="12351">12351</option>
<option value="15351">15351</option>
<option value="114555443">114555443</option>
<option value="355455554">355455554</option>
</select>
<button onClick="SelectLan('12351','15351','355455554');">Välj några</button>
</form>
EDIT:
Självklart hinner Peter S före då mitt script hängde sig när jag hade råkat förväxla ett j med ett i :)
skymanMedlem sedan juli 20012 450 inlägg dectgap-> Jag kan trösta dig med att ditt script fungerade bättre än PeterS, om det beror på mitt okunnande vågar jag inte svara på ;)
Tack så mycket båda :)
skymanMedlem sedan juli 20012 450 inlägg En undran, hur skall javascriptet se ut om man istället vill skicka detta:
onClick="SelectLan(1_12351,5_15351,1_355455554);"
istället för:
onClick="SelectLan('1_12351','5_15351,'1_355455554');"
som jag har det nu...
Jag har utgått från dectgaps lösning, men kan byta om någon annan vore bättre...
Peter SMedlem sedan dec. 20025 483 inlägg Varför skulle du vilja göra det om man får fråga? Eftersom dectgaps lösning fungerar finns det väl ingen anledning ändra på det?
"If it ain't broke, don't fix it"
;)
skymanMedlem sedan juli 20012 450 inlägg If it aint perfect, make it perfect ;)
Strunta i det, jag orkar inte ändra nu... :)