jQuery comutați div și comutați text

Vreau să fac legătura "Adăugați un comentariu suplimentar" atunci când faceți clic pentru a afișa o zonă de text și textul pentru a comuta sub forma "Eliminare comentariu". Când se face clic pe "Elimină comentariu", trebuie să se ascundă zona textului, iar textul trebuie modificat sub forma "Add comment comment".

Codul pe care l-am folosit este

<script type="text/javascript">
$(document).ready(function( ){
$("#addcmt").click(function( )
{
$(".commentarea").toggle( );
if ($("#addcmt").text = "Add additional comment") {
     $("#addcmt").text("Remove comment");
  }
else {
   $("#addcmt").text("Add additional comment");
 }
});
});
</script>

Html este

<div class="addlcomment">
  Add additional comment
 </div>
 <div class="commentarea" style="display:none;">
     


 </div>

Comutarea textului nu funcționează.

Orice ajutor este apreciat.

2

5 răspunsuri

working demo http://jsfiddle.net/eDNH5/10/

Acest lucru vă va ajuta!

problema a fost că ați folosit operatorul de atribuire în loc de egalitate ==

Codul jQuery

$(document).ready(function() {
    $("#addcmt").click(function() {
        $(".commentarea").toggle();
        if ($("#addcmt").text() == "Add additional comment") {
            $("#addcmt").text("Remove comment");
        }
        else {
            $("#addcmt").text("Add additional comment");
        }
    });
});​
6
adăugat
Mulțumesc foarte mult
adăugat autor Paramasivan, sursa
@ Paramasivan bucuros pot ajuta :)
adăugat autor Tats_innit, sursa

dacă doriți să verificați dacă blocul este vizibil pentru a schimba textul:

$(document).ready(function() {
    $("#addcmt").click(function() {
        var isVisible = $(".commentarea").toggle().is(":visible");
        $(this).text( isVisible ? "Remove comment" : "Add additional comment");
    });
});

Folosesc acest lucru pentru că ați căutat deja #addcmt odată ce nu trebuie să găsiți cu adevărat acest element din nou.

5
adăugat
Mulțumesc foarte mult.
adăugat autor Paramasivan, sursa

Dacă este greșit. A inlocui

if ($("#addcmt").text = "Add additional comment")

cu

if ($("#addcmt").text == "Add additional comment")
0
adăugat

Faceți mai degrabă o sarcină decât o comparație în această linie:

    if ($("#addcmt").text = "Add additional comment") {

Vrei acest lucru:

    if ($("#addcmt").text == "Add additional comment") {
0
adăugat

Aveți o eroare în linie:

if ($("#addcmt").text = "Add additional comment") {

Ar trebui să fie:

if ($("#addcmt").text() == "Add additional comment") {
0
adăugat