En fråga om Jojoxx script. Hittade det här scriptet på hans sida om att flytta data från en lista till en annan och undrar nu hur man får den att bara kopiera raden till den andra... inte flytta den? Och om någon har något bra tips på hur man gör en "ta bort" funktion på den listan man lägger över i?
Scriptfråga Jojjox
10 svar · 750 visningar · startad av Webslave
Nej, det känns dumt måste jag säga. Ställ en allmän fråga istället för att skriva medlemmens namn i inlägget.Du kan ta bort det blåa:
function selectMoveSelected(from,to){
for(var n=0;n<from.length;n++){
if(from[n].selected){ to[to.length]=new Option(from[n].text,from[n].value);
}
}
[blue]for(var n=from.length-1;n>=0;n--){
if(from[n].selected){ from[n]=null; }
}[/blue]
}
Ändrat rubriken och inlägget... ;)
Vad ska din kod göra då? När jag testar den så händer samma sak som i Jojoxx script dvs att den flyttar hela raden från den ena listan till den andra... eller har jag feberyra? :D
Japp, måste vara feberyra.
Nej då jag testade det och det borde rimligtvis också fungera på samma sätt hos dig.
Denna rad: if(from[n].selected){ from[n]=null; }
Talar ju om att option-värdet skall sättas till null på de som är uppmarkerade, så om du tar bort det blåa så skall det funka.
Testa igen. ;)
TACK! (jag som läst galet... hehe)
Följdfråga: När jag submittar formläret så följer det bara med data om jag har en rad markerad i den list som raderna är kopierade till... och endast den raden som är markerad, ingen annan. Någon idé varför?
Så select-listor fungerar. Endast markerade val skickas.
Antingen får du markera alla val vid submit eller så får du slänga in valen i ett hidden fält. Det sistnämda kan vara att föredra då gränssnittet ser lite tattigt ut när saker markeras o blinkar till.
Aha, ser man på. Man lär sig något nytt varje dag :D Får jag försöka lirka till det så att man lägger till/tar bort det i ett hidden samtidigt som man flyttar det mellan listorna... blir intressant :)
Tack i alla fall!
Ok... jag har pillat och letat och jag kommer bara fram till att jag inte vet vad jag sysslar med :). Någon som har lust att peka mig i rätt riktning? Vill alltså lägga till/ta bort samma saker som jag lägger över i den, från början, tomma listan. Scriptet ser ut såhär:
function selectMoveSelected(from,to){
for(var n=0;n<from.length;n++){
if(from[n].selected){
to[to.length]=new Option(from[n].text,from[n].value);
}
}
}
function removeSelected(from){
for(var n=from.length-1;n>=0;n--){
if(from[n].selected){
from[n]=null;
}
}
}
Vi kan säga att hidden fältet heter "hiddenData"
Jag hänger inte med riktigt. Vill du lägga in saker i hidden-fältet för att det ska submittas? Eller vill du fylla den tomma listan med förvalda från början?
Det jag skulle vilja är att samtidigt som man lägger till en rad i listan så ska det värdet in i det dolda fältet samt med någon form av "bryt" som ett , eller liknande för att man enkelt ska kunna köra en explode på den i nästa steg och loopa igenom dem. Sedan även att man tar bort vald rad från det dolda fältet om man tar bort det från listan... kanske lite bökigt, jag vet inte :)
Lättast är att onsubmit plocka alla värden från selectlistan o stoppa in i hidden fältet.