2012-04-04 4 views
1

Ich bin neu in Jquery. Ich habe ein Upload-Formular, dass, wenn etwas von der Upload-Button ändert Klasse hochgeladen:Überprüfen Sie die Schaltfläche für die Klasse und wenn es eine bestimmte Klasse hat, erstellen Sie eine "done" div

<a class="upload-button upload buy" id="upload-button"><span>Upload a document</span></a> 

An:

<a class="upload-button buy white" id="upload-button"><span>Upload a document</span></a> 

Ich habe versucht, eine Funktion zu schreiben, die eine div genannt fügt ‚getan‘, wenn eine Datei wurde bereits hochgeladen (die Klasse in der Schaltfläche hat sich geändert). Hier

ist das, was ich bisher habe:

$('a#upload-button').ready(function() { 
      if ($(this).hasClass('white')) { 
       $('#three') 
        .append('<div class="done rotateone wiggler"></div>') 
        .addClass('grey'); 
     } 
     }) 

Ich bin nicht sicher, warum es nicht funktioniert. Bitte könnte jemand helfen?

+0

funktioniert nicht alles könnte bedeuten, geben Sie bitte, was Sie unter „funktioniert nicht“ –

+0

Tut mir leid. das div i für das Hinzufügen bin, wenn meine if-Anweisung gilt nicht erstellt werden und weder ist die Klasse, ich bin hinzufügen: –

Antwort

0

Sie tun sollten (wenn Sie, wenn eine Taste, um eine Klasse überprüfen möchten, wenn die Seite geladen wird, sonst nehmen Sie nur den if und es Teil setzen, wo Sie es brauchen

//this is a shorthand methot for $(document).ready() 
//you should use this to wait for the dom to load 
$(function(){ 
//if the link has the class 
    if($('a#upload-button').hasClass('white')){ 
    //append the button 
    $('#three') 
     .append('<div class="done rotateone wiggler"></div>') 
     .addClass('grey'); 
    } 
}); 

EDIT - Sie ändern sollten

Ihr Skript
function verifyFileUploadState(up) { 
    if ($(".file-title").length == 0) { 
     $("#upload-button span").html("Upload a document"); 
     $("#upload-button").addClass("upload"); 
     $("#upload-button").removeClass("white"); 
    } else { 
     $("#upload-button span").html("Upload another document"); 
     $("#upload-button").removeClass("upload"); 
     $("#upload-button").addClass("white"); 
     $('#three') 
      .append('<div class="done rotateone wiggler"></div>') 
      .addClass('grey'); 
    } 
    up.refresh(); 
} 
+0

Wie würde ich? editiere dies, so dass sobald der Button die Klasse änderte, er das div anhängen und seine Klasse ändern würde? –

+0

@MarkBlythe was löst eine Änderung der Klasse aus? Es muss ein JavaScript-Code sein –

+0

Meinst du das Skript, das den Knopfwechsel auslöst? Der Code dafür ist hier: 'Funktion verifyFileUploadState (oben) { if ($ (". Datei-Titel "). Length == 0) { $ (" # upload-button span "). Html (" Laden Sie ein Dokument hoch "); $ ("# upload-button"). AddClass ("upload"); $ ("# upload-button"). RemoveClass ("white"); } else { $ ("# upload-button span") .html ("Ein anderes Dokument hochladen"); $ ("# upload-button"). RemoveClass ("upload"); $ ("# upload-button"). AddClass ("weiß"); } up.refresh(); } ' –

Verwandte Themen