Avatar billede hnteknik Novice
04. november 2005 - 00:18 Der er 2 kommentarer og
1 løsning

Angiv selected ved dynamiske options

Jeg har lang række spørgsmål, hvoraf nogle har et antal faste. Disse options bygges dynamisk op efter denne devise:

if (itemID == 1919){n = 0;document.frmUser.answerID[n++] = new Option('Vælg en værdi','');document.frmUser.answerID[n++] = new Option("Ja", '4066');document.frmUser.answerID[n++] = new Option("Nej", '4067');}


Det virker fint. Når brugeren opdaterer siden af anden grund bliver det valgte spørgsmål vist igen. jeg har også fået den til at dynamisk at vælge de rigtige svarmuligheder, men jeg vil gerne have at brugeren også ser det selectede svar.

jeg regner med at jeg efterfølgende kan løbe en function igennem som mærker den option op som er selected if any. Noget ala

var x = document.frmUser.answerID
for (var i=0;i<x.length;i++)
{

if (x.options[i].value == '4066')
        x.options[i].selected = true
}

Men jeg er for træt til lige at gennemskue om det er rigtig.

Er det rigtigt, hvordan gennemløber jeg min nydannede option og mærker den op ?? Læser det i morgen - må til køjs.

Henrik
Avatar billede roenving Novice
04. november 2005 - 14:24 #1
?-)

-- hvad sker der, og hvad skal der ske ?o]
Avatar billede hnteknik Novice
04. november 2005 - 17:07 #2
Jeg bygger et rullegardin op dynamisk og skalefterfølgende mærke en værdi som selected ud fra en given værdi. Det hele foregår på serveren i ASP. Når siden så responser sigselv igen skal valget gerne stå der igen
Avatar billede hnteknik Novice
04. november 2005 - 22:35 #3
Nå - jeg fik selv flikket løsningen sammen:

<table width="100%" cellspacing="0" cellpadding="0" border="0" ID="Table2">
<form action="" method="get" name="frmUser">
                <tr>
                  <td class="normalBold-Big" width="150" align="left">test</td>
                  <td align="left" class="normalBold" width="100">Standard svar</td>
                  <td><select name="answerID"></select></td>
                </tr>
<script language="javascript">
    updateAnswers()
updateselect('4066')
function updateAnswers()
{
    var x = document.frmUser.answerID;
    x.options.length = 0;
    var n;
    n = 0;
    x[n++] = new Option('Vælg en værdi','');
    x[n++] = new Option("Ja", '4066');
    x[n++] = new Option("Nej", '4067');
}
function updateselect(Preselect)
{
    var x = document.frmUser.answerID;
    for (var i=0;i<x.length;i++)
        {
       
        if (x.options[i].value == Preselect)
                x.options[i].selected = true
        }
}
</script>
</form>
</table>
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