++ wil niet tellen
Ik heb een script waarin ik iets uit de database haal. Nou gebruik ik een stukje javascript voor het open klappen van de items.
Alleen als ik bij de onClick dezelfde waarde heb dan vouwt het systeem alleen de bovenste open en niet degene waar ik op klik! Nou probeer ik dat op te losse door alle waardes bij de onClick een ander getal mee te geven, maar dat werkt ook al niet! Wat doe ik daar fout?
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="www.prodes.nl" />
<script type="text/javascript">
function kadabra(zap) {
if (document.getElementById) {
var abra = document.getElementById(zap).style;
if (abra.display == "block") {
abra.display = "none";
} else {
abra.display= "block";
}
return false;
} else {
return true;
}
}
</script>
<title>Untitled 2</title>
<style type="text/css">
#tekst {
display:none;
width: 250px;
border: 1px solid black;
background-color: #EEE;
padding: 5px;
font-size: 12px;
}
</style>
</head>
<body>
<?php
include('config.php');
$test = "
SELECT
woord,
uitleg
FROM
vragen
ORDER BY
woord
";
$res = mysql_query($test);
while($resultaat = mysql_fetch_assoc($res)){
$i=1;
$varnr = $i++;
$content .=<<<EOF
<a href="#" onclick="return kadabra('{$varnr}');">{$resultaat['woord']}</a><br /><p id="tekst">{$resultaat['uitleg']}</p>
EOF;
echo $varnr;
}
echo $content;
?>
</body>
</html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="www.prodes.nl" />
<script type="text/javascript">
function kadabra(zap) {
if (document.getElementById) {
var abra = document.getElementById(zap).style;
if (abra.display == "block") {
abra.display = "none";
} else {
abra.display= "block";
}
return false;
} else {
return true;
}
}
</script>
<title>Untitled 2</title>
<style type="text/css">
#tekst {
display:none;
width: 250px;
border: 1px solid black;
background-color: #EEE;
padding: 5px;
font-size: 12px;
}
</style>
</head>
<body>
<?php
include('config.php');
$test = "
SELECT
woord,
uitleg
FROM
vragen
ORDER BY
woord
";
$res = mysql_query($test);
while($resultaat = mysql_fetch_assoc($res)){
$i=1;
$varnr = $i++;
$content .=<<<EOF
<a href="#" onclick="return kadabra('{$varnr}');">{$resultaat['woord']}</a><br /><p id="tekst">{$resultaat['uitleg']}</p>
EOF;
echo $varnr;
}
echo $content;
?>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Jurgen B
Dit komt omdat je definitie van $i in je while staat. Elke keer wordt hij dus weer naar 1 gereset. Wanneer je $i = 1; op regel 55 zet, dus boven je while komt 't helemaal op orde.
Bedankt voor je oplossing! het werkt. alleen nu werkt het openen en sluiten weer niet. Bij geen van beide.
Waarschijnlijk zal dit komen omdat je ID niet uniek is in de whilelus.
Hoe bedoel je dat precies? Het is nu 1,2,3 enz. enz.
Je roept je js-functie aan met een $varid, het js gaat zoeken naar een element met het id $varid, maar in jouw code zie ik nergens een element waar in staat: id="$varid".
Maar dan nog snap ik het niet (A)
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$content .=<<<EOF
<a href="#" onclick="return kadabra('{$varnr}');">{$resultaat['woord']}</a><br /><p id="tekst_{$varnr}">{$resultaat['uitleg']}</p>
EOF;
?>
$content .=<<<EOF
<a href="#" onclick="return kadabra('{$varnr}');">{$resultaat['woord']}</a><br /><p id="tekst_{$varnr}">{$resultaat['uitleg']}</p>
EOF;
?>
en ook
maar nu is de situatie als volgt:
Er wordt bij het openen getoond:
test <= waar ik op moet klikken
Hier staat dus uitleg over wat een test precies is
Dan klik ik op test en gebeurd er niets .. Als ik nog een keer op test klik klapt ie pas in.
Dus de volgorde van openklappen is verkeerd.
Volgens mij ligt dat er aan dat ie nu de stylesheet niet kan vinden die hidden heeft.
De generated source bevat het volgende: <p id="tekst_1"> dus vandaar dat het openklappen e.d. niet goed werkt.