JQuery: проверка отключенного атрибута и его добавление/удаление?
Я выбираю все входные элементы формы следующим образом:
var fields = $( form + " :input" ).not( "button" );
Как проверить, установлен ли какой-либо из этих входов атрибут disabled
и удалить его при наличии?
Кроме того, мне нужно добавить его после удаления (и сериализовать поля между ними), есть ли элегантный способ для этого? Что-то вроде toggle
, но для атрибутов?
Ответы
Ответ 1
Предполагая, что вы используете jQuery 1.6 или выше, предлагаемый метод заключается в использовании .prop().
fields.prop("disabled", false);
Если вам нужна логика вокруг каждого из них, вы можете сделать что-то в степени
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
Ответ 2
использовать : отключенный селектор`
попробуйте это
$('input:disabled').remove();
Ответ 3
Вы можете использовать селектор disabled
$('input:disabled').attr('disabled', '');
Смотрите здесь
http://jsfiddle.net/JngR9/
Ответ 4
Удалить
$('input:disabled').removeProp('disabled');
или
$('input:disabled').prop('disabled', 'disabled');
Добавить
$('input:disabled').prop('disabled', 'disabled');