Jquery code werkt niet
Jquery moet als de pagina geladen geladen word direct kijken of de radio button is checked.
Zelf had ik dit:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<input type="radio" id="test" checked>
<script>
$(document).ready(function(){
if($('input #test').is(':checked')){
alert ('actief');
};
});
</script>
<script>
$(document).ready(function(){
if($('input #test').is(':checked')){
alert ('actief');
};
});
</script>
Hij werkt alleen niet:-(
Wat doe ik fout?
Gr. Yoeri
-->
<script type="text/javascript">
Daarnaast is het misschien netter om checked="checked" te gebruiken in plaats van simpelweg "checked".
Gebruik ook "input#test" in plaats van "input #test", of simpelweg "#test" anders werkt je selector niet.
Thomas, de type van de script tag is overbodig omdat deze by default "text/javascript" bevat voor scripts tags. Het wordt zelfs afgeraden dit te gebruiken.
Op deze vraag wil ik graag inspringen.
Zelf krijg ik ook iets niet werkend wat op het zelfde neerkomt.
jquery:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
//als document klaar is
$(document).ready(function() {
//als input met id way is checked
if($('input#way').is(':checked')){
//Voeg class selected toe aan moeder element van deze input
$(this).parent().addClass('selected');
};
});
$(document).ready(function() {
//als input met id way is checked
if($('input#way').is(':checked')){
//Voeg class selected toe aan moeder element van deze input
$(this).parent().addClass('selected');
};
});
I.p.v een alert zoals Yoeri wil ik de parent van de radio input een class laten toewijzen.
Dat moet je anders doen - in het bovenstaande fragment wordt je controle uitgevoerd als je de pagina laadt. Wat je wilt is dat de controle wordt uitgevoerd als er op geklikt wordt (.click(...) of .on('click' ...) en de radio button wordt geselecteerd.
Ik zal het anders uitleggen.
Onze site werkt met lijsten die word geupload door een programma.
Per keuze wat de bezoeker maakt word een lijst weergegeven met opties (radio buttons).
Via een script word er telkens 1 radiobutton als checked gecreëerd.
Stel de bezoeker kiest optie een en gaat naar de volgende pagina toe en dan shit nee ik wil toch die andere wil ik dat de parent van de checked radiobutton die class krijgt. Zelf dacht ik dat te doen door jquery te laten kijken naar welke radiobutton is checked en geef die de class.
Dus kort gezegd wil ik zodra de pagina geladen word jquery kijkt welke radiobutton check is en die de class geeft.
Moet ik dan meer in de richting denken van de .each(function() ?
"Maak ik er een alert van dan werkt de code wel."
Zo werkt hij ook:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<head>
</head>
<style>
.testparent{
width:100px;
height:100px;
border:solid 1px #FFFC00;
}
.selected{
background:#CCCCCC;
}
</style>
<body>
<div class="testparent">
<input type="radio" id="test" checked="checked"/>
</div>
<script>
$(document).ready(function(){
$("#test").click(function(){
if ($('input#test').is(':checked')){
$(this).parent().addClass("selected");
};
});
});
<script>
</body>
</html>
<head>
</head>
<style>
.testparent{
width:100px;
height:100px;
border:solid 1px #FFFC00;
}
.selected{
background:#CCCCCC;
}
</style>
<body>
<div class="testparent">
<input type="radio" id="test" checked="checked"/>
</div>
<script>
$(document).ready(function(){
$("#test").click(function(){
if ($('input#test').is(':checked')){
$(this).parent().addClass("selected");
};
});
});
<script>
</body>
</html>
Alleen wil ik het zonder click functie maar direct als de pagina is geladen.
Gewijzigd op 06/03/2015 00:18:00 door Jop B