Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 604
Jeg har disse snille radio buttonene:

HTML-kode

<input type="radio" name="child" value="friends">
<input type="radio" name="child" value="thief">
<input type="radio" name="child" value="money">
Jeg vil at når man velger en av dem skal en bestemt tekst dukke opp inne i div "answear" for eksempel. Slik at hvis man velger money så står det "Snille penger!" i diven, hvis man bytter til thief står det plutselig "Slemme tyver!" der. Hvordan gjør jeg dette? Jeg skjønner at javascript er veien å gå for meg.
Sist endret av Blå Gummitenner; 24. april 2009 kl. 17:00.
Dette eksempelet krever biblioteket fra jQuery. last det ned fra jQuery.com. Koden under er veldig enkel, og du trenger minimalt med JavaScript fordi teksten defineres i HTML-elementene

HTML-kode

$(function() {
	$('input.jText').change(function() {
		$('div#jText').text($(this).attr('title'));					   
	});
});

<div id="jText"></div>
<input class="jText" type="radio" name="child" value="friends" title="Tekst her!" />
<input class="jText" type="radio" name="child" value="thief" title="Slemme tyver!" />
<input class="jText" type="radio" name="child" value="money" title="Snille penger!" />
Jeg fant en måte å gjøre det på selv.

JavaScriptkoden:

HTML-kode

function changeTextChild()
{
if(child[0].checked)
{
childanswear.innerText = "I min barndom skaffet jeg meg mange venner og lekekammerater.";
}
else if(child[1].checked)
{
childanswear.innerText = "I min barndom stjal jeg alt fra godteri til leketøy.";
}
else
{
childanswear.innerText = "I min barndom puttet jeg penger på sparebøssa så fort jeg fikk sjansen.";
}
}

function changeTextTeen()
{
if(teen[0].checked)
{
teenanswear.innerText = "I tenårene sørget jeg for at utdannelsen kom først.";
}
else if(teen[1].checked)
{
teenanswear.innerText = "I tenårene utviklet jeg kontaktnetverket mitt.";
}
else
{
teenanswear.innerText = "I tenårene finpusset jeg mine ferdigheter innen svindel.";
}
}
</script>
HTMLkoden:

HTML-kode

<div id="index_specialize">
Spesialiser brukeren din ved å velge hva du gjorde som barn og i tenårene.</div>
<div id="index_youth">
<b><u>Hva gjorde du som barn av følgende alternativer?</u></b><br>
<input type="radio" name="child" value="friends" onclick="changeTextChild();">Skaffet deg mange venner og lekekammerater?<br>
<input type="radio" name="child" value="thief" onclick="changeTextChild();">Stjal alt fra godteri til leketøy?<br>
<input type="radio" name="child" value="money" onclick="changeTextChild();">Puttet penger på sparebøssa så fort du fikk sjansen?
</div>
<div id="childanswear">
</div>
<div id="index_youth">
<b><u>Hva gjorde du i tenårene av følgende alternativer?</u></b><br>
<input type="radio" name="teen" value="education" onclick="changeTextTeen();">Sørget for at utdannelsen kom først?<br>
<input type="radio" name="teen" value="friends" onclick="changeTextTeen();">Utviklet du kontaktnetverket ditt?<br>
<input type="radio" name="teen" value="swindle" onclick="changeTextTeen();">Finpusset du dine ferdigheter innen svindel?
</div>
<div id="teenanswear">
</div>
Problemet er at det ikke fungerer i alle nettlesere.
Fungerer i: Opera, IE
Fungerer ikke i: FireFox, Safari, Chrom

Hvorfor i hulste skjer dette, og hva må jeg gjøre for å rette det?
Problemet er kanskje at variabelen childanswear ikke er definert i funksjonene. Anbefaler deg fremdeles å ta en titt på jQuery koden min. Koden du viser til er unødvendig lang og vanskelig.
Jeg testet koden, og ser at det er if-spørringeen som ikke går i oppfyllelse i FireFox. Jeg finner ikke problemet selv, men jeg regner med at det kan hjelpe dere andre i løse problemet til stakkaren. Noen som vet hva som skal gjøres?