這裏是我的代碼 -禁用下拉列表
var obj = $('[id$=ddlInsert4]')
obj.disable = true;
obj是一個下拉列表,但禁用呼叫不會禁用下拉列表。
alert(obj.val()) //this returns the correct value
由於我的警報正在返回正確的值,我知道我的jQuery語法是正確的。 我錯過了什麼?
這裏是我的代碼 -禁用下拉列表
var obj = $('[id$=ddlInsert4]')
obj.disable = true;
obj是一個下拉列表,但禁用呼叫不會禁用下拉列表。
alert(obj.val()) //this returns the correct value
由於我的警報正在返回正確的值,我知道我的jQuery語法是正確的。 我錯過了什麼?
obj
是一個jQuery對象,而不是DOM元素。你需要做$(obj).prop('disabled', true);
。或者更好的是,如果你不需要其他地方obj
變量,只是做:
$('[id$=ddlInsert4]').prop('disabled', true)
要與本地的DOM元素進行交互,你可以做[0]
(或.get(0)
)。然後,你可以這樣做:
obj[0].disabled = true;
(注意,該酒店是disabled
不disable
)
注:$('[id$=ddlInsert4]')
可以返回多個元素,[0]
將剛剛得到的第一個。如果有不止一個,你需要循環所有這些。儘管如此,我建議使用jQuery .prop
方法,因爲它會遍歷所有元素。
嘗試使用.prop
像下面,
$('[id$=ddlInsert4]').prop('disabled', true);
可以使用jQuery .prop
功能類似於上面
或
$('[id$=ddlInsert4]')
返回一個jquery對象(選擇器總是返回jQuery對象的陣列),這樣你不能設置像這樣的jQuery對象的DOM屬性..
您需要迭代循環並設置屬性ex:$('[id$=ddlInsert4]')[i].disabled = true
其中i
是索引。