Nu har jag provat koden och den funkar sånär som på att den
lägger till dubbelt på sidorna tex jag tömmer vänster på namn flyttar till höger så blir det dubbletter till höger. Då kanske den första versionen är bättre iallafall där namnen inte flyttas utan är kvar men det blir inga dubbletter.
God Jul.
MVH hedda
Från ruta till ruta
21 svar · 422 visningar · startad av mhedda · sida 2 av 2
Frågan, av mhedda
Hejsan på er! Jag är inte så haj på javascript, så jag har en liten fråga om detta. Jag har pillat lite med detta så jag har tyckte det funkade tills jag såg att om man förde över alla användare från vänstra till höger så gick det inte att föra tillbaka från höger till vänsterruta någon liten bugg kanske. Tacksam för hjälp. <!-- / Funktion som flyttar ett option objekt från vänster till h
Läs frågan i sin helhet →Om inte följande modifiering fungerar får du visa exempelkod på ett icke-fungerande exempel ;)
<script type="text/javascript">
if (!Array.prototype.push)
Array.prototype.push = function(){
var args = arguments,
len = args.length;
for (var i = 0; i < len; ++i)
this[this.length] = args[i];
return this.length;
}
function move(sel){
var form = document.forms["groupForm"],
sel1 = form.elements[sel],
sel2 = form.elements[sel == "allGroups" ? "memberGroups" : "allGroups"],
sel1opts = sel1.options,
sel2opts = sel2.options,
sel1_i = sel1.options.length,
sel1arr = [],
sel2arr = [];
if (sel1.selectedIndex == -1) return;
for (var i = 0; i < sel1_i; ++i)
if (!sel1opts[i].selected || exists(sel1opts[i], sel2opts))
sel1arr.push(sel1opts[i]);
else
sel2arr.push(sel1opts[i]);
sel1opts.length = 0;
for (var i = 0, arrlen = sel1arr.length; i < arrlen; ++i)
sel1opts[i] = new Option(sel1arr[i].text, sel1arr[i].value);
for (var i = 0, arrlen = sel2arr.length; i < arrlen; ++i)
sel2opts[sel2opts.length] = new Option(sel2arr[i].text, sel2arr[i].value);
}
function exists(opt, opp){
for (var i = 0, arrlen = opp.length; i < arrlen; ++i)
if (opt.value == opp[i].value)
return true;
return false;
}
</script>