Avatar billede kongen72 Nybegynder
21. november 2009 - 05:14 Der er 10 kommentarer og
1 løsning

show/hide div tag

Hej!

Har en dropdownliste med 5 kategorier. Når man vælger Kat5, skal der fremkomme et div tag. Kan ikke få det til at fungere!
- Det jeg har indtil videre er dette:

<head>
<script type="text/javascript" language="JavaScript">
    function toggle(id) {
        var state = document.getElementById(id).style.display;
        if (state == 'block') {
            document.getElementById(id).style.display = 'none';
        } else {
            document.getElementById(id).style.display = 'block';
        }
    }
</script>
</head>

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="ObjectDataSource_Category" DataTextField="CategoryName" DataValueField="CategoryName" onchange="toggle('hidden');"></asp:DropDownLis>

<div id="hidden" style="border: solid red 1px;">tekst</div>
Avatar billede Six Nybegynder
21. november 2009 - 06:02 #1
Prøv at lave din style om til style="border: solid red 1px; display: none;"
Avatar billede keysersoze Ekspert
21. november 2009 - 09:19 #2
får du en fejl eller hvad sker der?
Avatar billede Slettet bruger
21. november 2009 - 10:12 #3
script:

<script type="text/javascript" language="JavaScript">
    function toggle(id) {
        if(document.getElementById("kategori").value == "kat5")
        {
                document.getElementById(id).style.display = "block";
        }
        else
        {
            document.getElementById(id).style.display = "none";
        }
    }
</script>

Html:

<body>
<select id="kategori" onchange="toggle('hidden');">
    <option value="kat1">1</option>
    <option value="kat2">2</option>
    <option value="kat3">3</option>
    <option value="kat4">4</option>
    <option value="kat5">5</option>
    <option value="kat6">6</option>
</select>

<div id="hidden" style="border: solid red 1px;display:none;">tekst</div>
</body>
Avatar billede kongen72 Nybegynder
21. november 2009 - 14:56 #4
Hej

-og tak for jeres svar!

Er på udkig efter noget i stil med (Zeska's) svar. Får dog en fejl, når jeg klikker på kat5. "Der opstod en Microsoft-JScript-kørselsfejl: Et objekt er obligatorisk".

Har dette nu:

<script type="text/javascript" language="JavaScript">
    function toggle(id) {
        if(document.getElementById("kategori").value == "kat5")
        {
                document.getElementById(id).style.display = "block";
        }
        else
        {
            document.getElementById(id).style.display = "none";
        }
    }
</script>

        <asp:DropDownList ID="kategori" runat="server" DataSourceID="ObjectDataSource_Category"
            DataTextField="CategoryName" DataValueField="CategoryName" onchange="toggle('hidden');">
        </asp:DropDownList>

<div id="hidden" style="border: solid red 1px;display:none;">tekst</div>
</body>
Avatar billede keysersoze Ekspert
21. november 2009 - 15:04 #5
du har vel ikke noget element der hedder "kategori" - husk på at clientid på .net-kontroller bliver anderledes end det du skriver i id på kontrollen.
Avatar billede kongen72 Nybegynder
21. november 2009 - 15:26 #6
Min DropDownListe hedder "kategori". Tror du det kan være fordi jeg henter mine dropdownliste informationer fra database. På den måde får jeg ikke vist mine values?
Avatar billede keysersoze Ekspert
21. november 2009 - 15:33 #7
nej - din dropdownliste hedder kun "kategori" på serveren og ikke på klienten og javascript er et klientsprog, derfor fejler koden.
Avatar billede keysersoze Ekspert
21. november 2009 - 15:34 #8
nej - din dropdownliste hedder kun "kategori" på serveren, ikke på klienten og javascript er et klientsprog, derfor fejler koden.
Avatar billede kongen72 Nybegynder
21. november 2009 - 15:37 #9
ok tak! Hvad kan jeg så gøre nu? Har du en anden måde at gøre dette hide/show div tag på?
Avatar billede keysersoze Ekspert
21. november 2009 - 16:29 #10
der er ikke noget grund til at opfinde noget nyt når det du har virker - i hvert fals så længe det bliver brugt korrekt.

lav fx dine første to js-linjer om til

function toggle(ddid, id) {
  if(document.getElementById(ddid).value == "kat5")

og udvid tilsvarende dit onchange kald til udover hidden-værdien også at sende kategori.clientid med.
Avatar billede keysersoze Ekspert
29. december 2009 - 11:42 #11
lukketid?
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