jQuery AJAX problem

Tags:    javascript

Hej udviklere,
Jeg har et problem med et bookingsystem jeg er ved at lave. Dette system er bygget af PHP og ajax med jQuery.

Jeg bruger disse funktioner for at lave mine ajax kald:
Fold kodeboks ind/udKode 


Sådan her ser en typisk dato ud som ikke er booket:
Fold kodeboks ind/udKode 

Sådan her ser en typisk dato ud som er booket:
Fold kodeboks ind/udKode 

Og sådan her ser en typisk dato ud når den lige er ændret med jQuery (I ajax Success'en):
Fold kodeboks ind/udKode 


Mit problem er at når jeg klikker på en dato der ikke er booket, og så vil fjerne den igen uden at opdatere browseren virker det ikke. Den finder åbenbart ikke min click handler.

Nogle der kan klare problemet ?
P.S Hvis i ikke forstår det, så kan jeg prøve at omformulere det.



9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Den første fejl er at du gentager ID på et html element. ID er og skal forblive unikt!

Hvis du skal bruge det til fange et bestemt element i jQuery, så har selvsamme en super CSS3 selector engine.

F.eks kan $('#tabs #fjern') blive til $('#tabs a.fjern'), hvor fjern nu er en css klasse.



Jo måske du skulle:

$('#tabs a.fjern').each(function(){

$(this).click(function() {
$.ajax({
type: "POST",
url: "flasker.php?lej",
context: $(this),
data: "date="+$(this).attr('alt')+"&flaske="+$(this).attr('flaske'),
success: function(){
var content = $(this).html();

alert('Du har nu booket en ' + $(this).attr('flaske') +' flaske d. ' + content + '.\nHvis dette ikke var den rigtige dato, skal du opdatere siden og fjerne den igen');


$(this).parent().html('<a href="#" flaske="'+ $(this).attr('flaske')+'" alt="'+ $(this).attr('alt')+'" id="fjern" userid="'+ $(this).attr('userid')+'" owner="'+ $(this).attr('userid')+'" id="fjern" style="color:red;">' + content + '</a>');
$(this).remove();
alert($(this).html());



}
});
});


});

Ellers vil event fra den sidste vel ligge på dem alle.

/J



Indlæg senest redigeret d. 08.07.2010 12:12 af Bruger #5789
Det virker stadig ikke. Har ændret id til class og det samme i min javascript kode. Men problemet er at når jeg lige har tilføjet en booking, bliver jeg nødt til at opdatere siden for at slette den. Jeg vil gerne have så man automatisk kan slette bookingen, når man klikker på den uden at man behøver at opdatere siden.





Never mind :)



Indlæg senest redigeret d. 06.07.2010 10:19 af Bruger #5789
Er der slet ikke nogen der har en løsning på problemet ?



Er der slet ikke nogen der har en løsning på problemet ?


Lig det live, så man kan se hvad man arbejder med ?!?

Eller lav et eksempel, man kan se.

/J



og ellers returnere false i "beforesend" ( http://docs.jquery.com/Ajax_Events ) til det anchor.

/J



og ellers returnere false i "beforesend" ( http://docs.jquery.com/Ajax_Events ) til det anchor.

/J


Det første du sagde med each funktionen virker ikke. Men jeg forstår ikke rigtig det andet du sagde.

Jeg ville meget gerne ligge det online men der er bare det problem at det er koblet til et system som jeg ikke lige kan ligge ud. men jeg kan da vise jer lidt mere kode:
Fold kodeboks ind/udKode 


Og noget html:
Fold kodeboks ind/udKode 



Måske kan det hjælpe jer lidt.



Indlæg senest redigeret d. 09.07.2010 10:26 af Bruger #14700
Bruger du tilfældigvis Aptana til at køre det igennem? Det havde jeg nemlig problemer med. Når jeg kørte det "rigtigt", virkede det fint.



t