如何使用 jQuery 禁用/启用按钮/链接?

发布于 2024-12-25 02:35:57 字数 716 浏览 1 评论 0原文

一旦您单击“赞成票”,它就会启用,只能通过单击“反对票”来禁用它。我如何做到这一点,以便如果我单击启用的按钮,它将被禁用。

$("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>

Once you click to up-vote it becomes enabled, it can only be disabled by clicking the down-vote. How do I make it so that if I click to an enabled button it will become disabled.

$("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);
        }
    });
});

One of the links:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

江湖彼岸 2025-01-01 02:35:57

尝试将其用作 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 )

Try using this as a live click event on the active class. Added some abstraction.

$("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);
        }
    });
}

working example: http://jsfiddle.net/hunter/XQfgU/ (minus the AJAX)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文