<form id="target">
....
</form>
<form id="target">
....
</form>
Risposte:
Nelle versioni precedenti potresti usare attr
. A partire da jQuery 1.6 dovresti usare prop
invece:
$("#target :input").prop("disabled", true);
Per disabilitare tutti gli elementi del modulo all'interno di "target". Vedi :input
:
Corrisponde a tutti gli elementi di input, textarea, select e button.
Se vuoi solo gli <input>
elementi:
$("#target input").prop("disabled", true);
$(this).closest('form').find('input').prop('disabled', true);
. Non sono sicuro di poterlo consolidare meglio, sono ancora piuttosto noobish su jQuery.
L'esempio sopra è tecnicamente errato. Per l'ultimo jQuery, utilizzare il prop()
metodo dovrebbe essere usato per cose come disabilitato. Vedi la loro pagina API.
Per disabilitare tutti gli elementi del modulo all'interno di "target", utilizzare il selettore: input che corrisponde a tutti gli elementi input, textarea, select e button.
$("#target :input").prop("disabled", true);
Se vuoi solo gli elementi, usa questo.
$("#target input").prop("disabled", true);
Inoltre, il modo più conciso è utilizzare il loro motore di selezione. Quindi, per disabilitare tutti gli elementi del modulo in un genitore div o form.
$myForm.find(':input:not(:disabled)').prop('disabled',true)
Puoi aggiungere
<fieldset class="fieldset">
e poi puoi chiamare
$('.fieldset').prop('disabled', true);
Per disabilitare tutti i moduli, facile come scrivere:
jQuery 1.6+
$("#form :input").prop("disabled", true);
jQuery 1.5 e precedenti
$("#form :input").attr('disabled','disabled');
Con questa riga è possibile disabilitare qualsiasi campo di input in un modulo
$('form *').prop('disabled', true);
La risposta definitiva (che copre le modifiche a jQuery api alla versione 1.6) è stata data da Gnarf
$("#target :input").prop("disabled", true);