Как отключить все <input> внутри формы с помощью jQuery?

<form id="target">
....
</form>

Ответ 1

В старых версиях вы можете использовать attr. Начиная с jQuery 1.6 вы должны использовать prop:

$("#target :input").prop("disabled", true);

Чтобы отключить все элементы формы внутри 'target'. См. :input:

Соответствует всем элементам ввода, textarea, select и button.

Если вам нужны только элементы <input>:

$("#target input").prop("disabled", true);

Ответ 2

Вышеприведенный пример технически неверен. В последнем jQuery использовать метод prop() следует использовать для таких вещей, как отключено. Посмотрите их страницу API.

Чтобы отключить все элементы формы внутри 'target', используйте селектор: input, который соответствует всем элементам ввода, textarea, select и button.

$("#target :input").prop("disabled", true);

Если вам нужны только элементы, используйте это.

$("#target input").prop("disabled", true);

Ответ 3

Также более кратким способом является использование механизма их выбора. Таким образом, чтобы отключить все элементы формы в div или форме родителя.

$myForm.find(':input:not(:disabled)').prop('disabled',true)

Ответ 4

вы можете добавить

 <fieldset class="fieldset">

а затем вы можете позвонить

 $('.fieldset').prop('disabled', true);

Ответ 5

Чтобы отключить всю форму, так же просто, как и запись:

jQuery 1.6 +

$("#form :input").prop("disabled", true);

jQuery 1.5 и ниже

$("#form :input").attr('disabled','disabled');

Ответ 6

Окончательный ответ (охватывающий изменения в jQuery api в версии 1.6) был предоставлен Gnarf