stoppe ich den folgenden Code haben:JQuery - Anker-Tag aus, klicken durch
//------------------------------------------------------//
// When the document is ready, start firing our AJAX //
//------------------------------------------------------//
$(document).ready(function() {
$("#navIndex a").click(function() {
this.blur();
return false;
});
$("#navPrevNext a").click(function() {
this.blur();
return false;
});
// Bind actions...
$("#navIndex a").click(function(e) { e.preventDefault; updateNavigation($(this).attr('href')); });
$("#navPrevNext a").click(function(e) { e.preventDefault; updateNavigation($(this).attr('href')); });
(); });
});
//--------------------------------------------------------------------------//
// METHODS - Get the params from the page and execute a server side call //
//--------------------------------------------------------------------------//
function updateNavigation(pageIndex) {
var filters = $("form").serialize();
var productGroup = $("#valProductGroup").attr('title');
var productType = $("#valProductType").attr('title');
var itemsPerPage = $("#ItemsPerPage").val();
var menuString = $("#Navigation").html();
// repopulate the paging menu...
$.ajax({ url: "/Catalog/Ajax/Update/Navigation"
, type: 'GET'
, dataType: 'HTML'
, data: { productGroup: productGroup, productType: productType, itemsPerPage: itemsPerPage, pageIndex: pageIndex, filters: filters }
, success: function(results) { $("#Navigation").html(results) }
, failure: function(results) { $("#Navigation").html(oldMenuString) }
});
// stop event bubbling... (this is not working as expected?)
return false;
}
Die Seite kann bei http://staging1.roomsalive.com/Catalog/Flooring/Hardwood finden. Die Seitennavigation (Erste/Vorherige/1/2/3/Nächste/Letzte) ist woran ich gerade arbeite. Wenn ich zum ersten Mal auf die Seite komme und auf "2" oder "3" klicke, verhält es sich so, wie ich es erwarte. Sobald das Menü aktualisiert ist, klicke ich dann auf eine der anderen realisierbaren Optionen, wie "3", und sendet es an http://staging1.roomsalive.com/Catalog/Flooring/Hardwood/3, anstatt den JQuery-Aufruf auszuführen. Ich bin mir zu 99% sicher, dass dies daran liegt, dass ich, wenn ich das Dokument lade, die JQuery click-Ereignisse an das Menü anschließe. Wenn es jedoch zurückgibt, sind diese Ereignisse verloren. Wie rette ich sie? Ist das das Problem?
TIA
Fast funktioniert. Es gibt jetzt die gesamte URL statt nur den PageIndex an meinen AJAX-Anruf weiter. JQuery barfs das 2. Mal herum. Gibt es eine Möglichkeit zu überprüfen, was angehängt wird, nachdem die Seite aktualisiert wurde? –
Sieh dir http://exceptioneer.com/Share/Summary.aspx?abf65e20-4903-4540-af9c-e57634f5ca8e an, um zu sehen, was beim 2. Mal passiert wird (nach dem ersten Ajax-Aufruf und der Neubesetzung der Navigationssteuerung). .. –
Verwenden Sie Firefox mit dem Web Developer Plugin. Klicken Sie auf Quelle anzeigen und dann auf Generierte Quelle anzeigen, um nach dem Ajax-Aufruf die Seitenquelle anzuzeigen. – tvanfosson