如何使用jquery在点击时更改输入按钮的文本?

时间:2014-09-18 11:03:23

标签: jquery button

我想在点击按钮时将以下按钮的ADD文本更改为“REMOVE”。

<input class="btn btn-6d" ahref="www.test.com" type="button" value="ADD"/>

我使用了以下jquery代码:

$(':input[type="button"][class="btn-6d"]').click(function(){
var $this = $(this);
$this.toggleClass('btn-6d');
if($this.hasClass('btn-6d')){
    $this.value('ADD');         
} else {
    $this.value('REMOVE');
}
});

我可能对选择器做错了,但我对编程比较陌生,无法弄清楚我做错了什么。

这是一个让你玩的小提琴:

http://jsfiddle.net/stijn777/shzuwu0v/

提前致谢,

斯泰恩

2 个答案:

答案 0 :(得分:1)

您使用的是value()而不是val()。下面的任何其他内容只是一点点清理:)

JSFiddle:http://jsfiddle.net/TrueBlueAussie/shzuwu0v/3/

   // Find the element by the generic btn class
    $(document).on('click', '.btn:input[type="button"]', function(){
        var $this = $(this);
        $this.toggleClass('btn-6d');
        if($this.hasClass('btn-6d')){
            $this.val('ADD');           
        } else {
            $this.val('REMOVE');
        }
    });

答案 1 :(得分:0)

想想更容易,您只需要将该类用作选择器。另请注意,方法名称为.val(),而非.value()

&#13;
&#13;
  $('.btn.btn-6d').click(function () {
    var $this = $(this);
    
    $this.toggleClass('btn-6d');
    
    if ($this.hasClass('btn-6d')) {
        $this.val('ADD'); // method name is .val()
    } else {
        $this.val('REMOVE');
    }
});
&#13;
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<input class="btn btn-6d" ahref="www.test.com" type="button" value="ADD" />
&#13;
&#13;
&#13;