S solbulle Medlem sedan mars 2001 5 287 inlägg Frågan 5 mars 2003 22:35 #1 Detta eminenta skript fungerar alldeles utmärkt (by Jojoxx). Men istället för att skriva två likadana kanske man skulle kunna knåpa ihop en funktion av det. (Om man nu "tjänar" så mycket på det...)
Argumenten till funktionen skulle väl då vara arraysen, alt. om man har dom inne redan?
<script language="JavaScript" type="text/javascript">
lists=new Array("lista","listb");
var content=new Array("value 1","Text 1","value 2","Text 2","value 3","Text 3");
window.onload=function(){
for(var l=0;l<lists.length;l++){
for(var a=0;a<content.length;a+=2){
document.forms['myform'].elements[lists[l]].length++;
document.forms['myform'].elements[lists[l]][a/2].value=content[a];
document.forms['myform'].elements[lists[l]][a/2].text=content[a+1];
}
}
}
</script>
<form name="myform"><select name="lista"></select><select name="listb"></select></form>
Orginaltråd: http://www.webforum.nu/showthread.php?s=&threadid=67544
S solbulle Medlem sedan mars 2001 5 287 inlägg Det verkar ju till och med att fungera.
<script language="JavaScript" type="text/javascript">
var lists=new Array("lista","listb");
var content=new Array("value 1","Text 1","value 2","Text 2","value 3","Text 3");
var lists2=new Array("lista2","listb2");
var content2=new Array("value 1222","Text 1222","value 2222","Text 2222","value 3222","Text 3222");
function selectlista(arr1,arr2){
for(var l=0;l<arr1.length;l++){
for(var a=0;a<arr2.length;a+=2){
document.forms['myform'].elements[arr1[l]].length++;
document.forms['myform'].elements[arr1[l]][a/2].value=arr2[a];
document.forms['myform'].elements[arr1[l]][a/2].text=arr2[a+1];
}
}
}
</script>
<body onload="selectlista(lists,content);selectlista(lists2,content2)">
<form name="myform">
<select name="lista"></select>
<select name="listb"></select>
<select name="lista2"></select>
<select name="listb2"></select>
</form>
Ni får banne mig vara lite rappare om ni ska vara till någon hjälp, kära medwf:are. ;)