jquery - menus - menu responsive desplegable
¿Cómo verificar si el menú desplegable está deshabilitado? (4)
Usando jquery, ¿cómo simplemente compruebo si solo es de lectura?
esto es lo que estoy intentando ...
$("#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 ;
}
});
Los menús desplegables se configuran de forma que solo se usa jquery:
if ($(''#dropLength'').find(''option'').length <= 1) {
$(''#dropLength'').attr("disabled", "disabled");
}
if ($(''#dropUnit'').find(''option'').length <= 1) {
$(''#dropUnit'').attr("disabled", "disabled");
}
Es $(#dropUnit).attr("disabled") == false
Intente seguir o ver la demostración disabled y readonly
$(''#dropUnit'').is('':disabled'') //Returns bool
$(''#dropUnit'').attr(''readonly'') == "readonly" //If Condition
Puede consultar las preguntas frecuentes de jQuery .
La solución heredada, anterior a la 1.6, era usar .attr
y manejar el valor devuelto como bool
. El principal problema es que el tipo devuelto de .attr
ha cambiado a string
y, por lo tanto, la comparación con == true
está quebrada (ver http://jsfiddle.net/2vene/1/ (y cambiar la versión de jquery)).
Con 1.6 .prop
se introdujo, que devuelve un bool
.
Sin embargo, sugiero usar .is()
, ya que el tipo devuelto es intrínsecamente bool
, como:
$(''#dropUnit'').is('':disabled'');
$(''#dropUnit'').is('':enabled'');
Además .is()
es mucho más natural (en términos de "lenguaje natural") y agrega más condiciones que una simple comparación de atributos (por ejemplo: .is('':last'')
, .is('':visible'')
.. ver la documentación de los selectores ).