22

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

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

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

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

4

4 に答える 4

53

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

于 2013-02-16T18:54:30.280 に答える
2

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

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

こちらをご覧ください

http://jsfiddle.net/JngR9/

于 2013-02-16T18:59:48.760 に答える
1

:disabledSelector`を使用してください

$('input:disabled').remove();
于 2013-02-16T18:58:53.860 に答える
1

削除する

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

また

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

たす

$('input:disabled').prop('disabled', 'disabled');
于 2015-07-10T16:14:30.753 に答える