skarbrattMedlem sedan juli 2000344 inlägg
Hittar inget exempel, men hur fixar man så att man har två selectlistor brevidvaranda och emellan två knappar med "lägg till" och "ta bort".
Hänger ni med... Dvs jag har X antal namn som antingen skall finnas i den ena eller i den andra select listan.
@ndersMedlem sedan juni 200026 914 inlägg
skarbrattMedlem sedan juli 2000344 inlägg
typ som överst påden här sidan: http://www.mattkruse.com/javascript/selectbox/index.html
MEn jag vill kunna skicka med värdena och fixa till den med lite ASP
skarbrattMedlem sedan juli 2000344 inlägg
Såg den tråden, men då Java Script kunskaperna är minimala saknar jag den vanliga HTML koden för att få det att funger för mig..
DVS hur ser HTML-koden ut?
solbulleMedlem sedan mars 20014 998 inlägg
Hm... tycker nog Peter S hade en hyfsad kod, med formulär o allt: http://www.webforum.nu/showthread.php?s=&postid=607316#post607316
<script type="text/javascript">
<!--
function move(s){
var
sel=document.forms["f"],
opt=sel.elements[s].options,
i=opt.length,
t=[],
j=null,
k=0,
b=false;
while(i-->0){
switch(opt[i].selected){
case false:
t.push(opt[i]);
break;
default:
b=true;
sel.elements[s=="n1"?"n2":"n1"].options[sel.elements[s=="n1"?"n2":"n1"].options.length] = new Option(opt[i].text);
}
}
j=t.length;
while(j-->0){
opt[k++] = new Option(t[j].text);
}
if(b) opt.length = opt.length-1;
};
//-->
</script>
...
<form onsubmit="return false" name="f">
<div style="float:left">
<select size="12" name="n1">
<option>Kol_1_1</option>
<option>Kol_1_2</option>
<option>Kol_1_3</option>
<option>Kol_1_4</option>
<option>Kol_1_5</option>
<option>Kol_1_6</option>
</select>
</div>
<div style="float:left;width:70px">
<div style="position:relative;top:60px;text-align:center">
<button onclick="move('n1')">--></button><br>
<button onclick="move('n2')"><--</button>
</div>
</div>
<div>
<select size="12" name="n2">
<option>Kol_2_1</option>
<option>Kol_2_2</option>
<option>Kol_2_3</option>
<option>Kol_2_4</option>
<option>Kol_2_5</option>
<option>Kol_2_6</option>
</select>
</div>
</form>
sen får du väl läsa dig fram i tråden, det förefaller som om bitarna löses efter hand där.
skarbrattMedlem sedan juli 2000344 inlägg
Mm, ja man kan ju inte se allt. *tack*
skarbrattMedlem sedan juli 2000344 inlägg
<script type="text/javascript">
<!--
function sortAndAdd(f,o){
var t = [], added=false, sel=null;
for( var i=0, elm; ( elm=f.options[i] ); i++ ){
if(!added && o.text < elm.text){
t.push(o);
sel=i;
added=true;
}
t.push(elm);
}
if(!added) t.push(o);
f.options.length=0;
for( var i=0, elm; ( elm=t[i] ); i++ )
f.options[i] = new Option(elm.text,elm.value);
f.options[typeof(sel)=="number"?sel:f.options.length-1].selected=true;
};
function move(s){
var
sel=document.forms["f"],
opt=sel.elements[s].options,
i=opt.length,
t=[],
j=null,
k=0,
b=false;
while(i-->0){
switch(opt[i].selected){
case false:
t.push(opt[i]);
break;
default:
b=true;
sortAndAdd(sel.elements[s=="n1"?"n2":"n1"], new Option(opt[i].text,opt[i].value));
}
}
j=t.length;
while(j-->0) opt[k++] = new Option(t[j].text,t[j].value);
if(b) opt.length = opt.length-1;
};
function selectAll(o){
var f=o.elements["n2"].options, j=f.length;
while(j-->0) f[j].selected = true;
};
//-->
</script>
...
<form action="t.asp" method="get" name="f" onSubmit="selectAll(this)">
<div style="float:left">
<select size="12" name="n1">
<option>Kol_1_1</option>
<option>Kol_1_2</option>
<option>Kol_1_3</option>
<option>Kol_1_4</option>
<option>Kol_1_5</option>
<option>Kol_1_6</option>
</select>
</div>
<div style="float:left;width:70px">
<div style="position:relative;top:60px;text-align:center">
<button onclick="move('n1')">--></button><br>
<button onclick="move('n2')"><--</button>
</div>
</div>
<div>
<select size="12" name="n2" multiple="true">
<option>Kol_2_1</option>
<option>Kol_2_2</option>
<option>Kol_2_3</option>
<option>Kol_2_4</option>
<option>Kol_2_5</option>
<option>Kol_2_6</option>
</select>
</div>
<INPUT TYPE="submit" VALUE="Skicka">
</form>
Koden ovan fungerar bra sälänge man inte flyttar värdena fram och tillbaka,gör man det så skickas bara toma värden vidare när man klickar påsubmit