Näytä yksi teksti ja piilota muut

Anonyymi

Sivulla on monta radio buttonia, joiden perässä on näkymätön label-elementti. Kun käyttäjä klikkaa radio nappulaa, haluan sen perää ilmestyvän tekstin ja tekstin muiden radio nappuloiden perästä katoavan. Alla olevalla esimerkillä teksti ilmestyy näkyviin, mutta miten saan esim a1 ja a3 tekstin katoamaan samalla kun a2 muuttuu näkyväksi?

JS:
function show_a1(){ document.getElementById('a1').style.display = 'block'; }
function show_a2(){ document.getElementById('a2').style.display = 'block'; }
function show_a3(){ document.getElementById('a2').style.display = 'block'; }

HTML:
<input type='radio' onclick='show_a1();' >
<span id='a1' style='display: none;'>Joku teksti</span>

<input type='radio' onclick='show_a2();' >
<span id='a2' style='display: none;'>Joku teksti</span>

<input type='radio' onclick='show_a3();' >
<span id='a3' style='display: none;'>Joku teksti</span>

12

362

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Lisää funktiohin muiden elementtien piilotus.

    • Anonyymi

      Taas on tullut voimaan se sääntö että ei voi opastaa antamalla koodi esimerkin, mutta avauksessa se saa tämänkin säännön mukaan olla. Voi hyvä tavaton näitä suomi24 moderoijia, täysiä pölvästejä, ei mitään järkeä niitten tekemisissä.

      • Anonyymi

        Pitäisivät nyt hitto mistä tahansa säännöstä kiinni, ainakin kaksi vuorokautta, eihän tästä tule mitään että joka viestille luodaan omat säännöt. Tämä sivuston rassaaja kuubaan täältä sotkemasta. Kyllä ärsyttää tämä mielivaltainen ylläpito johon on pakko alistua, pistäkää ihmeessä joku vastaava sivusto pystyy, että täältä pääsee pois.


      • Anonyymi kirjoitti:

        Pitäisivät nyt hitto mistä tahansa säännöstä kiinni, ainakin kaksi vuorokautta, eihän tästä tule mitään että joka viestille luodaan omat säännöt. Tämä sivuston rassaaja kuubaan täältä sotkemasta. Kyllä ärsyttää tämä mielivaltainen ylläpito johon on pakko alistua, pistäkää ihmeessä joku vastaava sivusto pystyy, että täältä pääsee pois.

        Jaa, ihmettelinkin kun seikkaperäinen selitykseni koodeineen katosi kuin tuhka tuuleen!


      • Anonyymi
        0sm0 kirjoitti:

        Jaa, ihmettelinkin kun seikkaperäinen selitykseni koodeineen katosi kuin tuhka tuuleen!

        Arvaa montako minulta on viety, samalla tavalla, joskus saa olla, ja sitten taas ei. Ja juuri näissä, johon on aikaa tuhlannut eniten tuo tarpeeton poistaminen eniten vituttaa.

        Muuten nytkin harmitti kun palasin tähän ketjuun vain kopioidakseni sen testi sivulle aikeenani testata toimiiko, ja sitten huomasin että eihän sitä ole. Vaikutti hyvältä kohteelta opiskella JavaScript alkeita.


    • Anonyymi

      Jokaisen pitäisi nostaa "älämölön" näistä turhista poistoista, niin muutkin tulisi tietoiseksi ettei vaan kannata tuhlata aikaa oikeisiin ohjeisiin. Jos tästä uskaltaa vetää johtopäätöksiä niin avaus saa nykyään sisältää JavaScript kysymyksen ja kysymykseen liittyvän JavaScript koodin, mutta vastaus ei.

    • Anonyymi

      Jos tämmöinen on sääntöjen vastaista, niin ne säännöt pitäisi asettaa käyttäjien nähtäväksi.

    • Koodit voi laittaa esim JS-Fiddleen. Siellä on helppo testaillakin.

      Minä tein tällaisen: https://jsfiddle.net/v39u42Lt/
      Muokkasin vähän tuota HTML:ääkin (radioihin sama name-attribuutti, niin ovat samaa ryhmää (niin ilmeisesti halutaan) ja br:t väliin, niin radiot ei hypähtele, kun toinen valitaan ja teksti tulee väliin).

      Refaktoroin tekstin näyttämisen ja muiden piilottamisen funktioon showText(ind), jolle annetaan parametrinä se monesko inputti (ja span:ni) on kyseessä.

      • Anonyymi

        Sait sen näyttämään niiiiin vaikealta, että vaihdan kiinnostuksen kohdetta Pythoniin. Se 0sm0:n poistettu oli helpon näköinen juttu.


      • Anonyymi kirjoitti:

        Sait sen näyttämään niiiiin vaikealta, että vaihdan kiinnostuksen kohdetta Pythoniin. Se 0sm0:n poistettu oli helpon näköinen juttu.

        Olisko tämä helpomman näkönen: https://jsfiddle.net/xz5h2cr3/
        Mutta tässä tulee paljon toistoa. Varsinkin jos inputteja on vielä enemmän tai jopa niin ettet tiedä kuinka monta niitä tulee olemaan. Silloin silmukka on ainoa ratkaisu.

        Tuosta edellisestä ratkaisustani:
        - entries() on vähän niinkuin Pythonin enumerate, se antaa taulukosta (tai taulukkomaisesta objektista, jollainen document.querySelectorAll:n palaute on) samalla kertaa indeksin ja alkion.

        -ternääri-operaattori A?B:C vastaa rakennetta if (A) {B} else {C} ja se antaa sen arvon, kumpi suoritettiin A vai B.
        Eli
        (i===ind)?'inline-block':'none'
        on 'inline-block', jos i on yhtä kuin ind ja muuten se on 'none'.

        Kokeile vielä itse toteuttaa silmukkaratkaisu. Älä anna periksi!


      • Anonyymi
        minkkilaukku kirjoitti:

        Olisko tämä helpomman näkönen: https://jsfiddle.net/xz5h2cr3/
        Mutta tässä tulee paljon toistoa. Varsinkin jos inputteja on vielä enemmän tai jopa niin ettet tiedä kuinka monta niitä tulee olemaan. Silloin silmukka on ainoa ratkaisu.

        Tuosta edellisestä ratkaisustani:
        - entries() on vähän niinkuin Pythonin enumerate, se antaa taulukosta (tai taulukkomaisesta objektista, jollainen document.querySelectorAll:n palaute on) samalla kertaa indeksin ja alkion.

        -ternääri-operaattori A?B:C vastaa rakennetta if (A) {B} else {C} ja se antaa sen arvon, kumpi suoritettiin A vai B.
        Eli
        (i===ind)?'inline-block':'none'
        on 'inline-block', jos i on yhtä kuin ind ja muuten se on 'none'.

        Kokeile vielä itse toteuttaa silmukkaratkaisu. Älä anna periksi!

        No nyt se on jo ymmärrettävissä täysin, ja jotain tuotahan se turhaan poistettu 0sm0:n koodikin oli. Kopioin siitä huolimatta omalle sivulle, vaikka tuo testaaminen tuollakin onnistui.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      85
      6020
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      319
      5117
    3. Huono päivä

      Tänään on ollut tosi raskas päivä töissä. Tekis mieli itkeä ja huutaa. En jaksa just nyt mitään. Minä niin haluaisin ja
      Ikävä
      20
      2658
    4. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      48
      2599
    5. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      83
      1832
    6. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      103
      1669
    7. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      17
      1521
    8. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      109
      1497
    9. seurakunnan talouspäällikön valinta meni perseelleen

      Nyt on ihan pakko kyseenalaistaa tuo Kemijärven seurakunnan päätös talouspäälliköstä. Valitulla ei ole talouspuolen osaa
      Kemijärvi
      119
      1402
    10. Olen ihmetellyt yhtä asiaa

      Eli miksi naiset ovat niin pelokkaan tai vaitonaisen oloisia minun seurassani. Se sai minut ajattelemaan, että olen epäm
      Ikävä
      133
      1393
    Aihe