web-dev-qa-db-ja.com

jQuery:無効化された属性を確認し、追加/削除しますか?

このようなフォームのすべての入力要素を選択します。

var fields = $( form + " :input" ).not( "button" );

これらの入力のいずれかにdisabled属性が設定されているかどうかを確認し、存在する場合はそれを削除するにはどうすればよいですか?

また、削除された後に追加する必要があります(および間にフィールドをシリアル化します)、これにはエレガントな方法がありますか? toggleに似ていますが、属性用ですか?

18
Sven

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

49
Ruben Infante

disabledセレクターを使用できます

$('input:disabled').attr('disabled', '');

こちら をご覧ください

http://jsfiddle.net/JngR9/

2
glosrob

use :disabled Selector `これを試してください

$('input:disabled').remove();
1
bipen

削除する

$('input:disabled').removeProp('disabled');

または

$('input:disabled').prop('disabled', 'disabled');

たす

$('input:disabled').prop('disabled', 'disabled');
1
Zubarik