如何检查下拉是否被禁用?
使用jquery如何检查它是否只读?
这是我正在尝试..
$("#item").keydown(function (event) { //alert(event.keyCode); if (event.keyCode == 13) { $("#ok").click(); if ($('#dropLength').prop("disabled") == false) { $("#dropLength").focus(); return; } if ($('#dropUnit').prop("disabled") == false) { $("#dropUnit").focus(); return; } $("#qty").focus(); return ; } });
下拉列表设置为使用jquery只读:
if ($('#dropLength').find('option').length <= 1) { $('#dropLength').attr("disabled", "disabled"); } if ($('#dropUnit').find('option').length <= 1) { $('#dropUnit').attr("disabled", "disabled"); }
1.6之前的传统解决scheme是使用.attr
,并将返回的值作为bool
值来处理。 主要的问题是返回的.attr
types已经改变为string
,因此与== true
的比较被破坏(参见http://jsfiddle.net/2vene/1/ (并切换jquery版本))。
1.6引入了.prop
,返回一个bool
。
不过,我build议使用.is()
,因为返回的types本质上是bool
,如:
$('#dropUnit').is(':disabled'); $('#dropUnit').is(':enabled');
此外, .is()
更自然(就“自然语言”而言),并且比简单的属性比较(例如: .is(':last')
.is(':visible')
)增加了更多的条件。 ..请参阅关于select器的文档 )。
尝试跟随或检查演示禁用和只读
$('#dropUnit').is(':disabled') //Returns bool $('#dropUnit').attr('readonly') == "readonly" //If Condition
你可以检查jQuery常见问题 。
有两个选项:
第一
你也可以用is()
$('#dropDownId').is(':disabled');
第二
使用== true
通过检查属性值是否被disabled
。 attr()
$('#dropDownId').attr('disabled');
无论你觉得什么都适合,你可以使用:)
干杯!
它是$(#dropUnit).attr("disabled") == false