2014-01-19 5 views
5

ich auf dieser Geige arbeite: http://jsfiddle.net/cED6c/7/ Ich mag die Schaltfläche Textänderung auf Klick machen und ich versuchte, mit dem folgenden Code:Schaltfläche Ändern Text (Show/hide/show) auf Klick in jquery Toggle

<input type="button" class="reveal" onClick="this.value=this.value=='Show Answer'?'Hide Answer':'Show Answer'" value="Show Answer"> 

Es funktioniert jedoch nicht. Wie soll ich das umsetzen? Jede Hilfe wäre großartig.

+0

Warum zeigen Sie eine 'input' in Ihrer Frage, aber mit' button' Elemente in verknüpften Demo? –

Antwort

14

Sie müssen diesen Code hinzuzufügen:

if ($.trim($(this).text()) === 'Show Answer') { 
    $(this).text('Hide Answer'); 
} else { 
    $(this).text('Show Answer');   
} 

Sie es bei der Arbeit sehen:

http://jsfiddle.net/cED6c/13/

I fügen Sie die Trimm-Funktion Ursache in den HTML-Code Sie Platz bekam nach der Antwort anzeigen.

+0

sollte ich das auch ändern $ ("a [href = '" + window.location.hash +' '] "). übergeordnete (". answerbutton "). click(); funktioniert nicht in WordPress, aber es ist in Ordnung – Skotlive

+0

In der angehängten Datei jsfiddle haben Sie kein Tag. Was soll es tun? – justtal

+0

OK, Sie möchten, dass die Frage von der href und dem Speicherort geöffnet wird? – justtal

6

Sehr einfach, den Text mit jQuery zu ändern.

Arbeitsbeispiel hier. http://jsfiddle.net/vp7Y7/

$('.reveal').click(function() { 
    if ($(this).text() === 'Show Answer') { 
     $(this).text('This is NEW TEXT!!! It Worked!'); 
    } 
    else { 
     $(this).text('Show Answer'); 
    } 
}); 
+1

Danke, es hat wirklich funktioniert, aber wenn ich es noch einmal anklicke, wird es nicht auf Antworttext anzeigen zurückgesetzt. – Skotlive

+0

Danke, immer noch kann ich es nicht bekommen :(Entschuldigung für naiv sein. Bitte beachten Sie diese Geige, nur dritte Schaltfläche funktioniert nicht die ersten beiden. Http://jsfiddle.net/cED6c/10/ – Skotlive

+0

+1 @lotstsock thx – Chris22

1

etwas einfach wie dieses

$(document).ready(function() { 
    $('a.edit').click(function() { 
     var txt = $(this).text(); 
     txt = (txt !='cancel') ? 'cancel' : 'edit'; 
     $(this).text(txt); 
     $('.editForm').toggle(300); 
    }); 
});