I select all input elements of a form like this:
var fields = $( form + " :input" ).not( "button" );
How do I check if any of these inputs has the disabled
attribute set and remove it when present?
Also, I need to add it after is has been removed (and serialize the fields in between), is there an elegant way for this? Something like toggle
but for attributes?
To remove the disabled attribute, select the element and call the removeAttribute() method on it, passing it disabled as a parameter, e.g. btn. removeAttribute('disabled') . The removeAttribute method will remove the disabled attribute from the element.
Projects In JavaScript & JQuery We can easily disable input box(textbox,textarea) using disable attribute to “disabled”. $('elementname'). attr('disabled','disabled'); To enable disabled element we need to remove “disabled” attribute from this element.
To remove all attributes of elements, we use removeAttributeNode() method.
Assuming you are using jQuery 1.6 or above, the suggested method is to use .prop().
fields.prop("disabled", false);
If you need to have logic around each one, you could do something to the extent of
var fields = $( form + " :input" ).not( "button" ); fields.each(function(index, element) { var isDisabled = $(element).is(':disabled'); if (isDisabled) { $(element).prop('disabled', false); } else { // Handle input is not disabled } });
jsfiddle
You can use the disabled
selector
$('input:disabled').attr('disabled', '');
See here
http://jsfiddle.net/JngR9/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With