使用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之前的旧解决方案是使用.attr并将返回的值作为bool处理。主要问题是返回的.attr类型已经更改为字符串,因此与== true的比较被打破了(请参阅
http://jsfiddle.net/2vene/1/(并切换jquery版本))。
用1.6 .prop引入,它返回一个bool。
然而,我建议使用.is()
,因为返回类型本质上是bool,如:
$('#dropUnit').is(':disabled'); $('#dropUnit').is(':enabled');
此外,.is()更加自然(就“自然语言”而言),并且比简单的属性比较(例如:.is(‘:last’),.is(‘:visible’), ..请参见documentation on selectors)。