Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 10:56 Der er 15 kommentarer og
1 løsning

Tilføje radio forms, efter at en anden radio form er blevet checked

Hej med jer

Mit problem er sådan, at jeg har nogle grupper radio buttons.

Hvor man først vælger 1 person eller 2 personer.

Her har jeg så evt. nogen valgmuligheder ( Som er en ny gruppe radiobuttons), Det kan være Gå, Cykel, Løb.

Hvis man har valgt 2 personer.
Så var min mening at der skulle komme en ny række med muligheder, sådan at man får mulighed for at vælge en "valgmulighed" for begge personer.

Det er en ASP side. Det er standard HTML forms jeg har brugt.
Nogen idér ? :-)
Avatar billede olebole Juniormester
11. maj 2010 - 11:12 #1
<ole>

Prøv at lægge et link til siden

/mvh
</bole>
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 11:19 #2
Hej Ole

Den er ikke lagt ud på nettet.

Altså jeg har 2 radio buttons til at starte med, hvor man vælger 1 person eller 2 personer.

Hvis man har valgt 1 person, så skal der kun være 1 række med valgmuligheder.

Hvis man har valgt 2 personer, så skal der være 2 rækker med valgmuligheder.

Der er ikke rigtig noget fancy på siden..
Det er bare alm. textfiler valgmulighederne bliver læst op fra.
Avatar billede olebole Juniormester
11. maj 2010 - 11:34 #3
2 Personer: <input onclick="document.getElementById('foo').style.display=this.checked?'block':'none'" type="radio" name="noget">

<div id="foo" style="display:none">Andre radios</div>

Når du klikker på din radio, gemmes divet, når radio'en ikke er checked - mens divet bliver synligt, hvis den er checked
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 12:44 #4
Nu begynder det at ligne noget :-)

Jeg kan dog få den til at blive skjult igen ? :)

<body>

1 Person: <input type="radio" name="noget">2 Personer: <input onclick="document.getElementById('foo').style.display=this.checked?'block':'none'" type="radio" name="noget">

<div id="foo" style="display:none">Test: <input type="radio" name="Test"></div>

</body>


Det er hvad jeg har på min test side.
Jeg kan godt få den vist, men jeg kan ikke få den skjult igen
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 12:51 #5
Kan det evt. passe at hvis jeg har det i en table. Så skal <div></div> være i samme <td> ? synes ikke jeg kan få det til at virke hvis jeg sætter den et andet sted :)
Avatar billede olebole Juniormester
11. maj 2010 - 13:39 #6
1 Person: <input type="radio" name="noget" onclick="document.getElementById('foo').style.display='none'">2 Personer: <input onclick="document.getElementById('foo').style.display=this.checked?'block':'none'" type="radio" name="noget">

Nej, divet kan ligge, hvor som helst indenfor <body> og </body>
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 14:46 #7
Okay, så kan jeg se jeg lige skal have gravet lidt dybere :)

Pt. kan jeg kun få det til at virke hvis det står i samme <td>
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 14:57 #8
Kan det passe at man ikke kan bruge <div> til at vælge om en <tr> skal være der ikke ej?
Avatar billede olebole Juniormester
11. maj 2010 - 15:11 #9
Du kan under ingen omstændigheder lægge et div rundt om en td, tr eller tbody
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 15:14 #10
Oh okay :-) det forklarer jo det hele ;-)

Men tak for alle de hurtige svar :) du har reddet min dag :)

Smider du et svar? :)
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 15:17 #11
Evt lige et hurtigt spørgsmål mere ;)

Hvis jeg nu har noget tekst i en
<td> Her er tekst</td>
<td> Her er mere tekst</td>

Hvis jeg nu ville have det til at komme frem på sammetid, hvordan vil man så skulle gøre det?

For det ser ud til at med div, den kun kan bruges engang ? :)
Avatar billede olebole Juniormester
11. maj 2010 - 15:45 #12
Du kunne jo skrive noget à la:

<script type="text/javascript">
function hideMore() {
    for (var i=0,j=arguments.length; i<j; i++) {
        document.getElementById(arguments[i]).style.display = 'none';
    }
}
</script>

<input type="radio" name="noget" onclick="hideMore('foo', 'bar', 'fooBar')">

Så gemmer du elementerne foo, bar og fooBar. Og du kan selvfølgelig vise dem på samme måde. Så sætter du bare display-værdien til 'block' i stedet
Avatar billede olebole Juniormester
11. maj 2010 - 15:51 #13
- og sådan kan du skifte mellem at vise og skjule elementerne 'foo', 'bar' og 'fooBar'. Du viser og skjuler ved hvert andet klik - ligesom i mit første eksempel:

<script type="text/javascript">
function toggleMore() {
    var sAction = arguments[0].checked ? "block" : "none";
    for (var i=1,j=arguments.length; i<j; i++) {
        document.getElementById(arguments[i]).style.display = sAction;
    }
}
</script>

<input type="radio" name="noget" onclick="toggleMore(this, 'foo', 'bar', 'fooBar')">
Avatar billede Mads Larsen Nybegynder
11. maj 2010 - 15:56 #14
Uha det var lige præcis det jeg ledte efter :-)

Du skal have rigtig mange tak :D Smider du et svar så skal du få nogen fortjente point :)
Avatar billede olebole Juniormester
11. maj 2010 - 23:15 #15
Selvtak. Uha ... så lægger jeg et svar  ;o)
Avatar billede olebole Juniormester
12. maj 2010 - 10:43 #16
Tak for points  =)
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