Avatar billede jhjorsal Mester
27. november 2001 - 12:35 Der er 2 kommentarer og
1 løsning

Speed or Progress Bar

Jeg har en multi select box med ca 1500 options
hvis jeg ønsker at overføre dem til en anden multi select box tager det en rum tid(ca 30 sek). Jeg gør det på flg måde:

var i;
var l=fromObject.options.length;
for (i = 0;i<l;i++)
{
    if (fromObject.options[i].selected)
    {
        var option = new Option(fromObject.options[i].text, fromObject.options[i].value);
        toObject.add(option);                   
    }       
}
kan det gøres på en hurtigere måde, hvis ikke
hvordan laver jeg så en progress bar der indikere at maskinen arbejder og ikke er frozen
mvh johnny
Avatar billede olebole Juniormester
27. november 2001 - 12:52 #1
<ole>
Prøv at lave en tabel-celle eller et <div> - og giv den/det id=\"ib\".
Prøv derefter følgende script, der gerne skulle skrive en select ud på meget kortere tid:

var myOpts = new Array();
var i;
var l=fromObject.options.length;
myOpts[myOpts.length] = \'<select>\'
for (i=0; i<l; i++) {
    if (fromObject.options[i].selected) {
        myOpts[myOpts.length] = \'<option value=\"\'+fromObject.options[i].value+\'\">\'+fromObject.options[i].text+\'</option>\';
    }     
}
myOpts[myOpts.length] = \'</select>\\n\'
document.getElementById(\"ib\").innerHTML = myOpts.join(\"\\n\");

/mvh
</bole>
Avatar billede jakoba Nybegynder
27. november 2001 - 13:24 #2
du kan også spare en del blot ved at fjerne noget af adresse. hvergang du skriver fromObject.options søger javascript sig frem til options arraye i fromObjekt.

var selo = fromObject.options;
for (i=0; i<l; i++) {
    if (selo[i].selected) {
        myOpts[myOpts.length] = \'<option value=\"\'+selo[i].value+\'\">\'+selo[i].text+\'</option>\';
    }   
}

mvh JakobA
Avatar billede jhjorsal Mester
27. november 2001 - 13:35 #3
Takker
mvh johnny
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester