JQuery .ajax() url megadás probléma

JQuery .ajax() url megadás probléma
2012-08-27T18:00:09+02:00
2012-08-27T18:55:02+02:00
2022-11-26T17:10:40+01:00
knorbi5
Sziasztok!

Az lenne a problémám, hogy a .ajax() függvényt használva az url-nek egy "összefűzött" karakterláncot adok, alert()-el kiirattam, hibátlan, ha simán beírom a számot szintén hibátlan, úgyhogy nem értem mi a gond. A kód:


$("li.szolg").click(function(){ $("#szoveg").fadeTo(500, 0, function(){ $("#szoveg").css('width','90%'); $.ajax({ type: 'GET', url: 'Lapok/' + $("li.szolg").index(this) + '.html', dataType: 'html', success: function(html){ $('#szoveg').html(html); $("#cimsav").css('width','90%'); $("#szoveg").fadeTo(500, 1); }, }); }); });
Mutasd a teljes hozzászólást!
ajaxnál a this ebben a használt környezetben már nem az li amire kattintottál hanem a #szoveg mert annak a callbackjében vagy - emiatt nem találja meg.

Mentsd el a this-t egy változóba a fadeTo előtt:

$("li.szolg").click(function(){ var li = this; $("#szoveg").fadeTo(500, 0, function(){ ... url: 'Lapok/' + $("li.szolg").index(li) + '.html', ... }); });

vagy helyben is megkeresheted az indexet:

$("li.szolg").click(function(){ var index = $("li.szolg").index(this); $("#szoveg").fadeTo(500, 0, function(){ ... url: 'Lapok/' + index + '.html', ... }); });

vagy akár az egész url-t is összerakhatod ott.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd