2010-09-14 66 views
2

我有一種在其生命中某個時刻有三種選擇的表單。根據選中哪個項目,更多表單元素將會下降。目前這些只是隱藏,並會點擊顯示/隱藏。但是,驗證這些時仍然在DOM中。我不想刪除它們,並且每次都重新添加它們。是否有更簡單的方式來啓用/禁用一大堆表單選項?Jquery在不刪除的情況下啓用和禁用dom元素

+1

您如何執行驗證?也許你可以將控件分成不同的形式並只驗證其中的一個? – 2010-09-14 15:00:49

回答

1

我已經在表單中使用這個來禁用輸入。然而,他們總是會在DOM中,並且取決於您如何驗證表單,這可能不是答案。

$('#elementwrapper input').each(function() { 
    $(this).attr('disabled', 'disabled'); 
}); 
$('#elementwrapper select').each(function() { 
    $(this).attr('disabled', 'disabled'); 
}); 
2

您可以將不同的表單元素放入帶有ID的div中。然後做

$('#IdOfDivHoldingSetOfElements').find('input').attr('disabled', 'disabled'); 

$('#IdOfDivHoldingSetOfElements').find('input').removeAttr('disabled'); 
如果你有下拉選擇你需要禁用也當然的選擇

+0

歡呼傢伙,這是一個很好的解決方案。不幸的是,我仍然必須將其構建到驗證腳本中,以便檢查它是否可見。 – kalpaitch 2010-09-15 08:11:37

+0

如果沒有爲您解決這個問題,我實際上會建議今天早上做這件事!真高興你做到了! – Patricia 2010-09-15 13:10:08

相關問題