【问题标题】:jQuery: Check the value of the attribute 'Value' and changejQuery:检查属性“Value”的值并更改
【发布时间】:2011-10-31 19:44:55
【问题描述】:

我正在尝试设置每次单击时更改的按钮的值。如果值为“接受”,则将其设为“取消”,反之亦然。

目前我有:$('button').attr({ value:"Accept"})

现在这会将按钮的值设置为接受。我想做点什么:

如果属性值 = 'Accept',则设为 'Decline',否则设为 'Accept'。

非常感谢

【问题讨论】:

  • 不要认为 attr 有那个签名! api.jquery.com/attr
  • 猜我应该阅读我自己的链接吧?

标签: jquery button attributes attr


【解决方案1】:

给你:

$( button ).click( function () {
    this.value = this.value === 'Accept' ? 'Decline' : 'Accept';
});

现场演示: http://jsfiddle.net/kF378/1/

【讨论】:

    【解决方案2】:

    您只需要在单击处理程序中使用 if/then 语句来检查按钮的当前状态,然后进行相应的设置。

    $('button').bind('click', function () {
        var $this = $(this);
        if ($this.attr('value') == 'Accept') {
            $this.attr('value', 'Decline');
        } else {
            $this.attr('value', 'Accept');
        }
    });
    

    【讨论】:

      【解决方案3】:

      Sime 的答案可能更好,但我会为了好玩而发布这个:

      var invert = {
          "Accept": "Decline",
          "Decline": "Accept"
      };
      
      $('#foo').click( function () {
          this.value = invert[this.value];
      });
      

      JSFiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-31
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 2019-10-18
        • 2012-06-28
        • 1970-01-01
        相关资源
        最近更新 更多