2012-04-02 4 views
0

So verwende ich die SimpleImageCheck jQuery Plugin, um Kontrollkästchen in Bilder zu ändern. Dies funktioniert gut für die einfachen Seiten, die ich vom Server zurückkehren normalerweise:benutzerdefinierte Kontrollkästchen Bilder für HTML zurückgegeben über Ajax

$(document).ready(function() { 
    $("input[type='checkbox']").simpleImageCheck({ 
     image: './content/themes/base/images/fail.png', 
     imageChecked: './content/themes/base/images/success.png' 
    }); 
} 

jedoch auf einige meiner Seiten gibt es divs, die dynamisch auf eine Schaltfläche klicken geladen werden:

function GetData() { 
    $.get("/Ajax/Aapt", variables, function (data) { 
     $("#AaptTab").html(data); 
    }); 
    $("input[type='checkbox']").simpleImageCheck({ 
     image: './content/themes/base/images/fail.png', 
     imageChecked: './content/themes/base/images/success.png' 
    }); 
} 

Die get-Anfrage gibt eine HTML-Seite zurück. Wenn dies auftritt, wird das Div geladen, aber die Checkboxen werden nicht durch die Bilder ersetzt. Ich denke ich verstehe, warum es passiert, mein Problem ist, dass ich nicht weiß, was ich tun soll, um es zu beheben .... Da der HTML-Code als String zurückgegeben wird, sollte ich nur einen String-Ersatz verwenden? Oder gibt es einen besseren Weg?

Auch jedes Kontrollkästchen, das ich anzeige, ist deaktiviert, da sie nur zum Anzeigen von Daten verwendet werden.

Antwort

2

Dies passiert, weil '$ .get' Anfrage braucht Zeit und arbeitet asynchron. Versuchen Sie Folgendes:

function GetData() { 
    $.get("/Ajax/Aapt", variables, function (data) { 
     $("#AaptTab").html(data); 
     $("input[type='checkbox']").simpleImageCheck({ 
      image: './content/themes/base/images/fail.png', 
      imageChecked: './content/themes/base/images/success.png' 
     }); 
    }); 
} 
Verwandte Themen