Как отключить / включить кнопку / ссылку с помощью jQuery? - PullRequest
0 голосов
/ 03 января 2012

Как только вы нажмете, чтобы проголосовать, он станет активным, его можно отключить, только нажав на голосование.Как сделать так, чтобы при нажатии на включенную кнопку она стала отключенной.

$("a.vote_down").click(function() {
    //get the id
    the_id = $(this).attr('id');

    //the main ajax request
    $.ajax({
        type: "POST",
        data: "action=vote_down&id="+$(this).attr("id"),
        url: "votes.php",
        success: function(msg) {
            $(".vote_down").addClass("active");
            $(".vote_up").removeClass("active");
            $("span#votes_count").html(msg);
        }
    });
});

Одна из ссылок:

<a href='javascript:;' class='vote_up<?php if($liked["points"]=="1") echo " active";?>' id='<?php echo $id; ?>'>Vote Up</a>

1 Ответ

2 голосов
/ 03 января 2012

Попробуйте использовать это как живое нажатие на класс active. Добавлена ​​некоторая абстракция.

$("a.vote_down.active").live("click", function(e) {
    Vote($(this).attr('id'), false);
});

$("a.vote_up.active").live("click", function(e) {
    Vote($(this).attr('id'), true);
});

function Vote(id, value) {
    //the main ajax request
    var action = value ? "vote_up" : "vote_down"
    $.ajax({
        type: "POST",
        data: "action=" + action + "&id=" + id,
        url: "votes.php",
        success: function(msg) {
            $(".vote_down").toggleClass("active", value);
            $(".vote_up").toggleClass("active", !value);
            $("span#votes_count").html(msg);
        }
    });
}

рабочий пример: http://jsfiddle.net/hunter/XQfgU/ (минус AJAX)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...