这里是我的代码 -禁用下拉列表
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
是索引。