单击时更改按钮文本,再次单击时将其更改回来

时间:2013-01-13 16:45:11

标签: php javascript jquery html

如何在点击时更改按钮的文字?并在再次点击时将其更改回来?我有这个javascript我做了。它没有给我我想要的东西。请帮忙吗?

    $('#addbtn').click(function (){
    if(document.getElementById('addMat').style.display == "none"){
        document.getElementById('addMat').style.display= "inline";
        $(this).val('Cancel');
    }else
        document.getElementById('addMat').style.display= "none";
        $(this).val('Add Material');
});

3 个答案:

答案 0 :(得分:2)

使用jQuery语法完成所有操作:

$('#addbtn').click(function (){
    var addMat = $('#addMat');
    if( addMat.css('display')  === 'none' ) {
      addMat.css('display','inline');
      $(this).val('Cancel');
    } else {
      addMat.css('display','none');
      $(this).val('Add Material');
    }
});

答案 1 :(得分:2)

$('#addbtn').click(function (){
    if(document.getElementById('addMat').style.display === "none"){
        document.getElementById('addMat').style.display = "inline";
        $(this).attr("value","Cancel");
    }else{
        document.getElementById('addMat').style.display = "none";
        $(this).attr("value","Add Material");
    }
});

或更好......

$('#addbtn').click(function (){
    if( $('#addMat').css('display')  === 'none' ){
      $('#addMat').css('display','inline');
      $(this).attr("value","Cancel");
    } else {
      $('#addMat').css('display','none');
      $(this).attr("value","Add Material");
    }
});

答案 2 :(得分:0)

$(this).prop('value', 'Cancel'); 

$(this).html('Cancel');

最好的方法是创建一个按钮并在文本周围放置一个span标记

$("span", this).text("My NEW Text");