如何检查下拉是否被禁用?

使用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值来处理。 主要的问题是返回的.attrtypes已经改变为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通过检查属性值是否被disabledattr()

 $('#dropDownId').attr('disabled'); 

无论你觉得什么都适合,你可以使用:)

干杯!

它是$(#dropUnit).attr("disabled") == false