<form id="target">
....
</form>
<form id="target">
....
</form>
Yanıtlar:
Eski sürümlerde kullanabilirsiniz attr
. JQuery 1.6'dan itibaren şunları kullanmalısınız prop
:
$("#target :input").prop("disabled", true);
'Hedef' içindeki tüm form öğelerini devre dışı bırakmak için. Bakınız :input
:
Tüm giriş, metin, seçme ve düğme öğelerini eşleştirir.
Sadece <input>
öğeleri istiyorsanız :
$("#target input").prop("disabled", true);
$(this).closest('form').find('input').prop('disabled', true);
. Eğer daha iyi birleştirmek eğer emin değilim, ben hala jQuery de noobish değilim.
Yukarıdaki örnek teknik olarak yanlıştır. En son jQuery başına, prop()
yöntemi devre dışı gibi şeyler için kullanılmalıdır. API sayfalarına bakın.
'Hedef' içindeki tüm form öğelerini devre dışı bırakmak için, tüm giriş, metin alanı, seçim ve düğme öğelerine uyan: giriş seçiciyi kullanın.
$("#target :input").prop("disabled", true);
Yalnızca elemanları istiyorsanız, bunu kullanın.
$("#target input").prop("disabled", true);
Ayrıca daha özlü yol, seçici motorunu kullanmaktır. Bu nedenle div veya form üst öğesindeki tüm form öğelerini devre dışı bırakmak için.
$myForm.find(':input:not(:disabled)').prop('disabled',true)
ekleyebilirsin
<fieldset class="fieldset">
ve sonra arayabilirsin
$('.fieldset').prop('disabled', true);
Tüm formu devre dışı bırakmak için, yazmak kadar kolay:
jQuery 1.6+
$("#form :input").prop("disabled", true);
jQuery 1.5 ve altı
$("#form :input").attr('disabled','disabled');
Bu tek satırla, formdaki herhangi bir giriş alanını devre dışı bırakabilirsiniz
$('form *').prop('disabled', true);
Kesin cevap (1.6 sürümünde jQuery api'deki değişiklikleri kapsayan) Gnarf tarafından verilmiştir.
$("#target :input").prop("disabled", true);