05. april 2001 - 12:12Der er
12 kommentarer og 1 løsning
Fra <select> til <select>. Samt scroll op og ned!
Jeg har prøvet mig lidt frem, men kan ikke finde en løsning - jeg har brug for hjælp!
Jeg har en side, hvor jeg hiver $uid og $name ud fra en datebase og putter dem i en select.
Det scriptet skal er at kunne flytte $id+$name over i en anden select. I denne select skal det være muligt at flytte de enkelte options op og ned - prioriteringliste.
<script language=\"JavaScript\"><!-- function deleteOption(object,index) { object.options[index] = null; }
function addOption(object,text,value) { var defaultSelected = true; var selected = true; var optionName = new Option(text, value, defaultSelected, selected) object.options[object.length] = optionName; }
function copySelected(fromObject,toObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { if (fromObject.options[i].selected) addOption(toObject,fromObject.options[i].text,fromObject.options[i].value); } for (var i=fromObject.options.length-1;i>-1;i--) { if (fromObject.options[i].selected) deleteOption(fromObject,i); } }
function copyAll(fromObject,toObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { addOption(toObject,fromObject.options[i].text,fromObject.options[i].value); } for (var i=fromObject.options.length-1;i>-1;i--) { deleteOption(fromObject,i); } } //--></script>
// kopier til anden select // function selCopy( frasel, tilsel ) { if ( tilsel.length > frasel.length ) tilsel.length = frasel.length; for ( var i=0; frasel.length>i; i++ ) { if ( i >= tilsel.length ) tilsel[i] = new Option; tilsel[i].text = frasel[i].text; tilsel[i].value = frasel[i].value; }; }
// flytte selected valgmulighed een op // function selFlytOp( sel ) { if ( sel.selectedIndex < 0 ) return false; // ingenting selected if ( sel.selectedIndex ==0 ) return false; // allerede øverst var temp = sel[sel.selectedIndex]; sel[sel.selectedIndex] = sel[sel.selectedIndex-1] sel[sel.selectedIndex-1] = temp; sel.selectedIndex -= 1; return true; // hvis engang du vil teste };
// flytte selected valgmulighed een ned // function selFlytNed( sel ) { if ( sel.selectedIndex < 0 ) return false; // ingenting selected if ( sel.selectedIndex == (sel.length-1) ) return false; // allerede nederst var temp = sel[sel.selectedIndex]; sel[sel.selectedIndex] = sel[sel.selectedIndex+1] sel[sel.selectedIndex+1] = temp; sel.selectedIndex += 1; return true; };
<script language=\"JavaScript\"><!-- function deleteOption(object,index) { object.options[index] = null; }
function addOption(object,text,value) { var defaultSelected = true; var selected = true; var optionName = new Option(text, value, defaultSelected, selected) object.options[object.length] = optionName; }
function copySelected(fromObject,toObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { if (fromObject.options[i].selected) addOption(toObject,fromObject.options[i].text,fromObject.options[i].value); } for (var i=fromObject.options.length-1;i>-1;i--) { if (fromObject.options[i].selected) deleteOption(fromObject,i); } }
function copyAll(fromObject,toObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { addOption(toObject,fromObject.options[i].text,fromObject.options[i].value); } for (var i=fromObject.options.length-1;i>-1;i--) { deleteOption(fromObject,i); } }
function flytop() { felt = document.form1.select2 if (felt.options.selectedIndex != -1) { index = felt.options.selectedIndex if ( index == 0 ) { } else { byttekst = felt.options[felt.options.selectedIndex - 1].text felt.options[felt.options.selectedIndex - 1].text = felt.options[felt.options.selectedIndex].text; felt.options[felt.options.selectedIndex].text = byttekst; felt.options.selectedIndex = index-1; } } }
function flytned() { felt = document.form1.select2 if (felt.options.selectedIndex != -1) { index = felt.options.selectedIndex if ( index == felt.options.length - 1 ) { } else { byttekst = felt.options[felt.options.selectedIndex + 1].text felt.options[felt.options.selectedIndex + 1].text = felt.options[felt.options.selectedIndex].text; felt.options[felt.options.selectedIndex].text = byttekst; felt.options.selectedIndex = index + 1; } } }
-> Jakoba Den virker ikke... ihf ikke efter hensigten.
-> Dudal Den virker perfekt, MEN nu skal det jo smides i et array. Normalt vil man kalde den for \"select2[]\" i stedet for \"select2\". Det kan ikke lade sig gøre her.
Jeg er nødttil at kalde den der hedder \"select2\" nu for \"select2[]\" for at jeg kan bruge den videre i php. Hvis jeg ændrer alle de steder hvor der står \"select2\" til \"select2[]\" kommer der en syntax-error. Jeg går ud fra at det er fordi [] er reserveret i javascript!
Jeg har ikke helt forstået hvad du mener med din forrige kommentar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.