<form id="target">
....
</form>
145
En versiones anteriores que podrías usar attr
. A partir de jQuery 1.6 deberías usar prop
en su lugar:
$("#target :input").prop("disabled", true);
Para deshabilitar todos los elementos de formulario dentro de 'target'. Ver :input
:
Coincide con todos los elementos de entrada, área de texto, selección y botón.
Si solo quieres los <input>
elementos:
$("#target input").prop("disabled", true);
$("#target :input").prop("disabled", true);
$(this).closest('form').find('input').prop('disabled', true);
. No estoy seguro de si puede consolidar eso mejor, todavía soy bastante novato en jQuery.El ejemplo anterior es técnicamente incorrecto. Según la última versión de jQuery, el
prop()
método debe usarse para cosas como deshabilitado. Ver su página API.Para deshabilitar todos los elementos de formulario dentro del 'objetivo', use el selector de entrada: que coincide con todos los elementos de entrada, área de texto, selección y botón.
Si solo quieres los elementos, usa esto.
fuente
También la forma más concisa es utilizar su motor de selección. Entonces, para deshabilitar todos los elementos de formulario en un div o formulario principal.
fuente
puedes añadir
y luego puedes llamar
fuente
Para deshabilitar todos los formularios, tan fácil como escribir:
jQuery 1.6+
jQuery 1.5 y abajo
fuente
Con esta línea puede deshabilitar cualquier campo de entrada en un formulario
fuente
Gnarf ha dado la respuesta definitiva (que cubre los cambios a la API jQuery en la versión 1.6)
fuente