Arun
Arun

Reputation: 1482

Button disable and enable not working in Jquery

I have a Jquery for click a button to add items to list.here I need to disable the button after click on it and after success it will be enable.here is my Code

$(".addtowishlist").live("click", function (e) {
        var t = $(this);
        $('<img src="/images/loading.gif" alt="loading" id="ajax-loader-wish"/>').insertAfter(t);
        $("#simplemodal-overlay").unbind("click");
        var n = t.parent().find("select[name='code']").val();

        var i = t.parent().find("input:hidden[name='account']").val();
        var s = t.parent().find("input:hidden[name='itemname']").val();
        var o = t.parent().find("input:hidden[name='itemnumber']").val();
        var u = (new URI).addQuery("code", n).addQuery("qty", 0).addQuery("addtowishlist", true).addQuery("account", i).addQuery("itemname", s).addQuery("itemnumber", o);
        $.ajax({
            url: u,
            type: "GET",
            success: function (e) {
                t.closest(".innerwishlist").hide();
                $(".wishlistThankYou").show()
            }
        });
        return false
    });

I tried

$(".addtowishlist").attr('disabled', 'disabled'); 
and code for enable 

 $(".addtowishlist").attr('disabled', ''); 

its works and disable the button but it doesn't enable the button after success. anybody help ?

Upvotes: 4

Views: 19776

Answers (5)

Don D
Don D

Reputation: 754

If you are using jQuery version 1.6+, then

$(".addtowishlist").prop( "disabled", true);

is recommended to disable the field. And for enabling use

$(".addtowishlist").prop( "disabled", false );

For older jQuery versions use below for disabling

$(".addtowishlist").attr('disabled', 'disabled');

and below one for enabling.

$(".addtowishlist").removeAttr('disabled');

Upvotes: 0

Tom Chamberlain
Tom Chamberlain

Reputation: 3065

If the button is itself a jQuery styled button (with .button()) you will need to refresh the state of the button so that the correct classes are added / removed.

$( ".selector" ).button( "refresh" );

Upvotes: 0

Larry McKenzie
Larry McKenzie

Reputation: 3283

try this:

$(".addtowishlist").removeAttr("disabled");

Upvotes: 1

xdazz
xdazz

Reputation: 160943

It is recommended to use .prop instead:

$(".addtowishlist").prop('disabled', true); 
$(".addtowishlist").prop('disabled', false); 

Or if you use old version of jQuery, use $(".addtowishlist").removeAttr("disabled"); to remove the attribute.

Upvotes: 8

Vond Ritz
Vond Ritz

Reputation: 2012

$(".addtowishlist").attr('disabled', true); 
and code for enable 

 $(".addtowishlist").attr('disabled', false); 

Upvotes: 4

Related Questions