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

Posted

技术标签:

【中文标题】如何使用 jQuery 禁用/启用按钮/链接?【英文标题】:How to disable/enable a button/link with jQuery? 【发布时间】:2012-02-01 19:23:08 【问题描述】:

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

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

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

【讨论】:

根据&lt;a&gt; 标记的href 属性,您可能还想添加function(e)e.preventDefault()

以上是关于如何使用 jQuery 禁用/启用按钮/链接?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 启用或禁用基于其他 2 个单选按钮的单选?

如何在按钮单击时启用和禁用 jquery dataTables 的分页

如何在jquery中启用和禁用文本框[重复]

jQuery Filer:如何在我的表单上禁用/启用

jQuery禁用链接

如何使用 jquery 启用表单的提交按钮?