[AJAX] hide() wil niet!
Ik heb een aantal reacties, die staan in een div
(div class="kliko" id="reactie(reactieID)")
Waarbij de id dus reactie144 is bv. afhankelijk van de reactieID.
Als ik nu dmv jquery het volgende doe:
doe gebeurd er helaas helemaal noppes... Iemand enig idee wat dit kan wezen?
de event.target.name is gevuld met het juiste ID(ik kan delID ook gewoon alerten, en dan klopt ie)
Als ik bijv.
Doe, doet ie 't wel, maar dan hide ie al mn kliko's en das niet de bedoeling :P
Gewijzigd op 01/01/1970 01:00:00 door Timen kut
id = reactie(#)
Moet je dan niet ook:
$('reactie'+delID).hide("slow")
Anders heb ik niks gezegd... :/
Gewijzigd op 01/01/1970 01:00:00 door Pieter van Linschoten
dan krijg je dus reactie#reactie144.......
juist, ik vat em al... hij identificeert hetzelfde als css-taal :')
Verder snap ik dat event.target.name niet helemaal. Heb je soms een functie aan die div gehangen, zodat je met die event.target.name probeert terug te vinden welke div die functie nou eigenlijk opgeroepen heeft? Dan kan je ook gebruik maken van this geloof ik.
klik
Hier hebben ze het over event.target.id...
Nogmaals, ik probeer mee te denken, met wat ik kan verzinnen, en niet met wat ik weet (leermomentje voor mijzelf) :')
Hier hebben ze het over event.target.id...
Nogmaals, ik probeer mee te denken, met wat ik kan verzinnen, en niet met wat ik weet (leermomentje voor mijzelf) :')
Nog een tip: Doe in je JS eens
Die zou je precies moeten vertellen wat delID dan is. Soort var_dump in PHP, maar hij zet de output in FireBug console. (Werkt ook in Safari en misschien ook in andere browsers).
Wat ook werkt, gewoon een alert($(delID)); Als hij dan undefined, NULL of iets zegt, bestaat het ID gewoon niet. Anders zegt hij wat voor soort element het is.
edit: Dit heeft niks met AJAX te maken. Op de J na dan
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
die event.target.name is mijn IMG in mn Ahref die dezelfde ID naam mee krijgt.
als ik alert($(delID)); gebruik, dan alert ie [Object object] trouwens(soms wel meerdere keren)
Mijn AJAX
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$('.delreaction')
.livequery('click', function(event) {
$.ajax({
type: "POST",
url: "includes/reacties.php?page2=<?=$_GET['page2']?>",
data: "reactionID="+event.target.name,
cache: false,
success: function(html){
$("#toonreacties").html(html);
var delID= document.getElementById("reactie"+event.target.name);
$(delID).hide("slow");
// alert(delID);
alert($(delID));
}
});
return false;
});
.livequery('click', function(event) {
$.ajax({
type: "POST",
url: "includes/reacties.php?page2=<?=$_GET['page2']?>",
data: "reactionID="+event.target.name,
cache: false,
success: function(html){
$("#toonreacties").html(html);
var delID= document.getElementById("reactie"+event.target.name);
$(delID).hide("slow");
// alert(delID);
alert($(delID));
}
});
return false;
});
En de aanroep:
Code (php)
1
2
3
2
3
<a class="delreaction" href="verwijderreactie">
<img src="images/delete.png" alt="verwijder reactie" name="'.$l['reactionsID'].'" title="verwijder reactie" />
</a>
<img src="images/delete.png" alt="verwijder reactie" name="'.$l['reactionsID'].'" title="verwijder reactie" />
</a>
De functie werkt in zijn geheel wel, en hij doet ook wat ie moet doen verder.
console.log("#reactie"+event.target.name);
geeft:
#reactie184
en console.log($(delID));
Geeft mijn gehele document terug o.O
Gewijzigd op 01/01/1970 01:00:00 door Timen kut
Heb toen, in plaats van in
Het event er later aan toegevoegd.
Naar mijn idee, zitten er nog net iets teveel bugs in jQuery.
edit: Voor de duidelijkheid: In het eerste voorbeeld klopt de inhoud van ui niet, in het 23 voorbeeld wel.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Daar snap ik dus even helemaal niks van, sorry xD
Wat heeft het voor zin? Je moet weer helemaal iets opnieuw leren, terwijl alles ook met 'gewoon' Javascript kan :/