Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Jul 2002

enkelt jquery/ajax problem

Hallå.

Jag har följande (föränklad) kod:

$(document).ready(function() { $('button#delete').click(function(){ //Defines variables HERE $.ajax({ type: 'POST', data: {groupid: groupid, userid: userid}, url: URL, success: function(){ $(this).hide(); } }); }) });

Varför fungerar inte $(this).hide();?

  • Om jag ersätter det med "alert('test');" så får jag upp dialogrutan.

  • Om jag ersätter det med "$(button#delete).hide();" så gömmer den samtliga knappar

Ovan säger mig att vi kommer till success-funktionen men varför fungerar inte självreferensen $(this)?

Jag hatar att vara förkyld!

Trädvy Permalänk
Medlem
Plats
Arboga
Registrerad
Jan 2002

$(this) är ett annat objekt inne i callbacken, prova deklarera en variabel till $(this) utanför ajaxanropet och använd sen den inne i din successcallback.

//Defines variables HERE var myButton = $(this); ... success: function(){ $(myButton).hide(); }

Skickades från m.sweclockers.com

Intel Core i7 6700K | Gigabyte Z170X-UD3 | Corsair Vengeance LPX 16GB DDR4 2400Mhz | EVGA GTX 980Ti Hybrid | Samsung 950 PRO 256GB | Noctua NH-D15 | EVGA G2 750 | Fractal Design Define R5

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Jul 2002

Super! Tack, det fungerar bra!

Jag hatar att vara förkyld!