Как отключить все <input>внутри формы с помощью jQuery? - PullRequest
131 голосов
/ 13 сентября 2009
<form id="target">
....
</form>

Ответы [ 7 ]

257 голосов
/ 13 сентября 2009

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

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

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

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

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

$("#target input").prop("disabled", true);
38 голосов
/ 12 июля 2011

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

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

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

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

$("#target input").prop("disabled", true);
14 голосов
/ 13 июля 2011

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

$myForm.find(':input:not(:disabled)').prop('disabled',true)
8 голосов
/ 15 сентября 2016

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

 <fieldset class="fieldset">

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

 $('.fieldset').prop('disabled', true);
8 голосов
/ 18 августа 2016

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

JQuery 1.6 +

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

JQuery 1,5 и ниже

$("#form :input").attr('disabled','disabled');
4 голосов
/ 11 сентября 2018

С помощью этой строки вы можете отключить любое поле ввода в форме

$('form *').prop('disabled', true);
0 голосов
/ 23 октября 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...