20. juni 2001 - 16:28Der er
8 kommentarer og 2 løsninger
automatisk opdatering af dropdownbox
Jeg skal bruge en metode hvorpå jeg automatisk kan opdatere en dropdownbox, udfra hvad der vælges i en anden dropdownbox. Begge dropdownboxe er på samme side og det skal gøres clientside, da det er vigtigt at der ikke er opdateringsforsinkelser. Det skal også kunne virke den anden vej rundt. Dvs. hvis man vælger noget i den anden dropdownbox, så opdateres den første dropdownbox. Er der nogen der har en løsning? Er der overhovedet nogen der forstår hvad jeg mener?
Nu skriver du ikke præcisk hilke opdateringer der skal følge af hvilke valg i hvilken dropdownboks. så det bedste jeg kan give dig i denne runde er et link til en side hvor der er små routiner til at indsætte, fjerne og flytte options.
Det jeg mener er at jeg at to dropdownbokse: Den første: <SELECT NAME=\"Kundenr1\"> <OPTION VALUE=\"123\">Kunde 1</OPTION> <OPTION VALUE=\"321\">Kunde 2</OPTION> </SELECT> Den anden: <SELECT NAME=\"Kundenr2\"> <OPTION VALUE=\"123\">123</OPTION> <OPTION VALUE=\"321\">321</OPTION> </SELECT> Hvis man i den første vælger kunde 2, så opdaterer den anden automatisk så 321 er selected eller hvis man i den anden vælger 123, så opdaterer den første automatisk så kunde 1 er selected.
\"formnavn\" er det navn du giver formen med en name=\"formnavn\" prameter i din <form kommando.
Antallet er vel nødt til at være det samme, ellers må der være noget fejlhåndtering til situationen hvor den valgte kunde ikke svarer til noget i den anden select. men rækkefølgen kan være forskellig. det vil kræve en lille javascript funktion:
i head: <script language=\'javascript\'> <!--
function matchSelect( fraSel, tilSelNavn ) { var i; var tilSel = document.formnavn.elements[tilSelNavn]; var kundenr = fraSel.options[fraSel.selectedIndex].value; for ( i=0; tilSel.options.length>i; i++ ) if ( tilSel.options[i].value == kundenr ) break; if ( i < tilSel.options.length ) { tilSel.selectedIndex=i; // vi fandt kunden } else { alert( \"Den er helt gal. kunde \" +kundenr +\" findes ikke i \"+tilSelNavn ); } }; //end matchSelect( select object, string )
Hvis der altid er lige mange kunder - og det er der jo...man kan så vælge efter kundenummer eller -navn. Mon ikke? Og hvad angår rækkefølgen: Læs koden igen, så vil du se, den er underordnet :o) Prøv script\'et, jakoba...og du vil se, det funker fint :o) /mvh
jakoba >> Ja, hvor er det nu, vi kender det fra? *LooOooL* Så var jeg lige inde på JavaScript-kategori-forsiden idag......til lykke med pladsen. Nu må du tage en tørn på pladsen, så du også kan få et godt job - så du kan få travlt og en anden kan tage over :oD /mvh
ole > tak for de pæne ord. Jeg skal prøve at holde standarden sålænge det varer :)
Synes godt om
Ny brugerNybegynder
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.