multinivel menus lista ejemplos desplegables desplegable jquery

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


Hay dos opciones:

primero

También puedes usar like is()

$(''#dropDownId'').is('':disabled'');

Segundo

Usando == true al verificar si el valor de los atributos está disabled . attr()

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

lo que sientas se adapta mejor, puedes usar :)

¡Aclamaciones!



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 ).