jQuery show()
Dit werkt niet:
en dit wel:
Waarom? En hoe krijg ik voorbeeld 1 aan het werk zodat ik met meerdere buttons met een eigen ID kan werken?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<button id="button1">Show it</button>
<p style="display: none">Hello 2</p>
<script>
$("button1").click(function () {
$("p").show("slow");
});
</script>
<p style="display: none">Hello 2</p>
<script>
$("button1").click(function () {
$("p").show("slow");
});
</script>
en dit wel:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<button>Show it</button>
<p style="display: none">Hello 2</p>
<script>
$("button").click(function () {
$("p").show("slow");
});
</script>
<p style="display: none">Hello 2</p>
<script>
$("button").click(function () {
$("p").show("slow");
});
</script>
Waarom? En hoe krijg ik voorbeeld 1 aan het werk zodat ik met meerdere buttons met een eigen ID kan werken?
Het is ook een simpel snelle test. Waar zou dit volgens jou bij moeten staan? :)
Want, de onderste regel werkt wel, zonder die code.
Groeten :)
Want, de onderste regel werkt wel, zonder die code.
Groeten :)
om je hele jQuery code heen ...
Basiskennis jQuery...
Als de knop vaker voorkomt, moet je een class gebruiken:
Basiskennis jQuery...
Als de knop vaker voorkomt, moet je een class gebruiken:
Gewijzigd op 02/02/2011 10:35:26 door - Ariën -
Bij voorbeeld 1:
$("button1")
moet zijn
$("#button1")
$("button1")
moet zijn
$("#button1")
Zou toch nog eens naar de basis van selectors kijken!
Ok, heb het aangepast, en het werkt nu inderdaad.
Als ik jou code erom heen zet Aar werkt het niet meer.
Nu wil ik echter dat button1 P1 opent, button2 P2, etc.
Hoe verwerk ik daar nu in dat hij automatisch de verschillende buttons en P's pakt?
@Aar, kan het zijn omdat ik geen body etc erin heb staan dat het daarom niet werkt?
Als ik jou code erom heen zet Aar werkt het niet meer.
Nu wil ik echter dat button1 P1 opent, button2 P2, etc.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<button id="button1">Show it 1</button>
<p id="p1" style="display: none">Hello 1</p>
<button id="button2">Show it 2 </button>
<p id="p2" style="display: none">Hello 2</p>
<button id="button3">Show it 3</button>
<p id="p3" style="display: none">Hello 3</p>
<script>
$("#button1").click(function () {
$("#p1").show("slow");
});
</script>
<button id="button1">Show it 1</button>
<p id="p1" style="display: none">Hello 1</p>
<button id="button2">Show it 2 </button>
<p id="p2" style="display: none">Hello 2</p>
<button id="button3">Show it 3</button>
<p id="p3" style="display: none">Hello 3</p>
<script>
$("#button1").click(function () {
$("#p1").show("slow");
});
</script>
Hoe verwerk ik daar nu in dat hij automatisch de verschillende buttons en P's pakt?
@Aar, kan het zijn omdat ik geen body etc erin heb staan dat het daarom niet werkt?
Chi Lion op 02/02/2011 10:41:11:
Wat bedoel je nou? Gewoon de code kopieren en 1 vervangen door 2 en 3???? Toch niet zo moeilijk?Hoe verwerk ik daar nu in dat hij automatisch de verschillende buttons en P's pakt?
Chi Lion op 02/02/2011 10:41:11:
Je hebt toch wel een body in je pagina staan neem ik aan?@Aar, kan het zijn omdat ik geen body etc erin heb staan dat het daarom niet werkt?
Nee, ik wat ik gepost heb ik alle code in de pagina, ik ben eerst puur aan het testen voor ik verder ga. Zal het erbij inzetten.
In feite zouden het oneindig veel buttons en oneindig veel P's kunnen zijn.
de ID's van button en P worden auto gegenereerd, alleen moet hij snappen dat het getal bij button ook het getal bij P wordt zeg maar.
Zo iets duidelijker?
In feite zouden het oneindig veel buttons en oneindig veel P's kunnen zijn.
de ID's van button en P worden auto gegenereerd, alleen moet hij snappen dat het getal bij button ook het getal bij P wordt zeg maar.
Zo iets duidelijker?
In jouw voorbeeld kun je simpelweg next() gebruiken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<button>Show it 1</button>
<p style="display: none">Hello 1</p>
<button>Show it 2 </button>
<p style="display: none">Hello 2</p>
<button>Show it 3</button>
<p style="display: none">Hello 3</p>
<script type="text/javascript">
$("button").click(function () {
$(this).next('p').show("slow");
});
</script>
<p style="display: none">Hello 1</p>
<button>Show it 2 </button>
<p style="display: none">Hello 2</p>
<button>Show it 3</button>
<p style="display: none">Hello 3</p>
<script type="text/javascript">
$("button").click(function () {
$(this).next('p').show("slow");
});
</script>
Maar, wat als ik nu wil dat de vorige weer gesloten wordt?
Toevoeging op 02/02/2011 11:00:42:
Wacht, dat is me gelukt nu:
Maar waar gooi ik nu mijn document.ready in?
Toevoeging op 02/02/2011 11:00:42:
Wacht, dat is me gelukt nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<button>Show it 1</button>
<p style="display: none">Hello 1</p>
<button>Show it 2 </button>
<p style="display: none">Hello 2</p>
<button>Show it 3</button>
<p style="display: none">Hello 3</p>
<script type="text/javascript">
$("button").click(function () {
$(this).next('p').show("slow");
$(this).prev('p').hide("slow");
});
</script>
</body>
</html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<button>Show it 1</button>
<p style="display: none">Hello 1</p>
<button>Show it 2 </button>
<p style="display: none">Hello 2</p>
<button>Show it 3</button>
<p style="display: none">Hello 3</p>
<script type="text/javascript">
$("button").click(function () {
$(this).next('p').show("slow");
$(this).prev('p').hide("slow");
});
</script>
</body>
</html>
Maar waar gooi ik nu mijn document.ready in?
Je moet met id's werken. Via php geef je een id mee aan je p's en in je javascript.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php for($i=1;$i<11;$i++) {
echo '<p id="p'.$i.'" style="display: none">Hello '.$i.'</p>';
echo '<a href="#" id="button '.$i.'">klik '.$i.'</a>;
}
<script type="text/javascript">
for($i=1;$i<11;$i++) {
?>
$("#button <?php echo $i; ?>").click(function () {
$("#p<?php echo $i; ?>").show("slow");
});
<?php
}
?>
</script>
echo '<p id="p'.$i.'" style="display: none">Hello '.$i.'</p>';
echo '<a href="#" id="button '.$i.'">klik '.$i.'</a>;
}
<script type="text/javascript">
for($i=1;$i<11;$i++) {
?>
$("#button <?php echo $i; ?>").click(function () {
$("#p<?php echo $i; ?>").show("slow");
});
<?php
}
?>
</script>
Gewijzigd op 02/02/2011 11:10:09 door Ozzie PHP
Ozzie, ik denk dat de oplossing die ik nu heb net zo goed werkt? (zie post boven jou)
Jij enige idee waar ik Aar zijn document.ready in moet pleuren, aangezien je die zelf ook niet gebruikt...
Jij enige idee waar ik Aar zijn document.ready in moet pleuren, aangezien je die zelf ook niet gebruikt...
Met document ready ga je pas functies uitvoeren als het volledige document is geladen. Als je dus je javascript in de head zet gebruik je document ready. In jouw geval komt de javascript na de HTML waar het naar verwijst dus is document ready niet nodig.
Als je het netjes wilt doen plaats je JS in de head, zonder document.ready zal je op deze manier een foutmelding krijgen:
Als je het netjes wilt doen plaats je JS in de head, zonder document.ready zal je op deze manier een foutmelding krijgen:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function () {
$('p').hide("slow");
$(this).next('p').show("slow");
});
});
</script>
</head>
<body>
<button>Show it 1</button>
<p style="display: none">Hello 1</p>
<button>Show it 2 </button>
<p style="display: none">Hello 2</p>
<button>Show it 3</button>
<p style="display: none">Hello 3</p>
</body>
</html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function () {
$('p').hide("slow");
$(this).next('p').show("slow");
});
});
</script>
</head>
<body>
<button>Show it 1</button>
<p style="display: none">Hello 1</p>
<button>Show it 2 </button>
<p style="display: none">Hello 2</p>
<button>Show it 3</button>
<p style="display: none">Hello 3</p>
</body>
</html>
Gewijzigd op 02/02/2011 11:11:23 door Lauren Zonneveld
Ik heb m nog wat aangepast... nu heb je een link / button voor iedere p... Die document ready kun je om je javascript heen zetten.
Gewijzigd op 02/02/2011 11:12:40 door Ozzie PHP
Perfect all of u guys, tnx alot!
Dit kan veel generieker worden aangepakt: voorbeeld.
Bij Ozzie's script krijg je dus steeds maar weer dezelfde stuk code. Hier is al een opzet van hoe het beter kan, in principe kan het nog verder worden uitgewerkt.
Bij Ozzie's script krijg je dus steeds maar weer dezelfde stuk code. Hier is al een opzet van hoe het beter kan, in principe kan het nog verder worden uitgewerkt.
Karl, in jouw voorbeeld vervangt ie telkens de ene p door de andere terwijl ts volgens mij wil dat ie ze afzonderlijk kan tonen en verbergen. Bijvoorbeeld dat je tegelijkertijd p1 en p3 toont. Kan dat in jouw opzet ook? Wel mooi gemaakt hoor :)
(is <button> een normaal html element?)
(is <button> een normaal html element?)
Ja, ik weet niet precies wat hij wilt.
Van die show() kan je toggle() maken. De methode eronder kan je dan weghalen.
Button is al minimaal vanaf html 4 aanwezig.
Van die show() kan je toggle() maken. De methode eronder kan je dan weghalen.
Button is al minimaal vanaf html 4 aanwezig.
is dat ook een xhtml element?
Ben het nog nooit tegengekomen... of anders gezegd, ik heb het nooit gebruikt.
Ben het nog nooit tegengekomen... of anders gezegd, ik heb het nooit gebruikt.
<!ENTITY % inline.forms "input | select | textarea | label | button">
http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict
Ja dus.
http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict
Ja dus.




