2010-06-05 64 views

回答

5

如果您希望禁用這些輸入元素字段集所有:

$("fieldset").find("input, select, textarea").attr('disabled', 'disabled'); 

您所使用的選擇( #Fieldset1)似乎沒有引用您的標記的任何部分。它的意思是「選擇我的id爲Fieldset1的元素」。由於該元素不存在,因此沒有任何反應。您應該閱讀jQuery selectors的正確語法和用法。

另外,還可以使用:input selector來取代所有類型的形式輸入元素:

$("fieldset :input").attr('disabled', 'disabled'); 
+0

卡里姆感謝,這是我的字段集ID PricingEditExceptions 我使用somethig這樣 $(「#PricingEditExceptions」)找到(「輸入,選擇,文本區域」。 ).attr('disabled','disabled');這只是爲了只有一個fieldset我需要採取#出?從代碼? – kumar 2010-06-05 22:59:30

+0

@kumar - 你有* multiple *'

',具有相同的ID嗎? – 2010-06-05 23:17:49

+0

不僅我有一個,但這個fieldset是多次執行取決於選擇顯示異常。 – kumar 2010-06-05 23:18:40

1

這條線:

 
$("#PricingEditExceptions") 
    .find("input, select,textarea") 
    .attr('disabled', 'disabled'); 

置於上述其中HTML是。它會在您希望禁用的html在dom之前執行。另外,如果這是一個可能在頁面上不止一次的控件,使用相同ID的多個html元素在技術上是不合法的。

我會先行,將你的行禁用代碼到你的$(document).ready函數塊中。然後考慮使用類名稱而不是「PricingEditExceptions」的id。

希望這會有所幫助。

+0

這只是第一次diabling ..如果視圖再次執行此代碼它不工作對我來說發生了什麼 – kumar 2010-06-05 22:52:32

1

不知道我理解你的問題100%,但我覺得你的問題是在你的jQuery代碼選擇部分: $("#Fieldset1")將僅適用於具有Fieldset1的ID的DOM元素你的行動,如果您要禁用所有字段集,則將選擇所有字段集,而不是選擇$("Fieldset")

但是我猜你想根據某些數據禁用字段集的子集 - 因爲我不知道你是基於這個決定的數據我會推薦一個訪問看看你是否可以找到某些東西共同爲您要選擇的所有DOM元素:http://api.jquery.com/category/selectors/

+0

有沒有什麼辦法我可以禁用該字段集而不需要此ID? 這是我有一個字段集ID =「學生」 其他字段集ID「類」'這些是更多然後一個字段.. .. 如果我使用此代碼$(「Fieldset」)它隱藏所有字段集,包括學生ID .. 我需要disbaled ony類ID字段集?謝謝 – kumar 2010-06-05 23:10:30

相關問題