JQuery: проверьте значение атрибута «Значение» и измените - PullRequest
0 голосов
/ 31 октября 2011

Я пытаюсь установить значение кнопки при нажатии, чтобы каждый раз менять.Если значение «Принять», установите «Отмена» и наоборот.

В настоящее время у меня есть: $('button').attr({ value:"Accept"}).

Теперь для кнопки устанавливается значение «Принять».Я хочу сделать что-то:

Если значение атрибута = «Принять», сделать его «Отклонить», иначе сделать его «Принять».

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 31 октября 2011

Вот, пожалуйста:

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

Живая демоверсия: http://jsfiddle.net/kF378/1/

0 голосов
/ 01 ноября 2011

Ответ Симе, вероятно, лучше, но я выложу это для развлечения:

var invert = {
    "Accept": "Decline",
    "Decline": "Accept"
};

$('#foo').click( function () {
    this.value = invert[this.value];
});

JSFiddle

0 голосов
/ 31 октября 2011

Все, что вам нужно, - это оператор if / then в вашем обработчике кликов, который проверяет текущее состояние кнопки и затем устанавливает его соответствующим образом.

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