jquery - off - deshabilitar todos los elementos de formulario dentro de div
jquery disable input (8)
A continuación deshabilitará toda la entrada, pero no podrá hacerlo en la clase btn y también se agregará la clase para sobrescribir la deshabilitación de css.
$(''#EditForm :input'').not(''.btn'').attr("disabled", true).addClass(''disabledClass'');
clase de css
.disabledClass{
background-color: rgb(235, 235, 228) !important;
}
¿Hay alguna manera de deshabilitar todos los campos (textarea / textfield / option / input / checkbox / submit, etc.) de una forma diciendo solo el nombre div principal en jquery / javascript?
Estoy usando la función a continuación en varios puntos. Funciona en elementos div o button en una tabla, siempre que se use el selector correcto. Solo ": botón" no se volvería a habilitar para mí.
function ToggleMenuButtons(bActivate) {
if (bActivate == true) {
$("#SelectorId :input[type=''button'']").prop("disabled", true);
} else {
$("#SelectorId :input[type=''button'']").removeProp("disabled");
}
}
Intente usar el selector de :input
, junto con un selector principal:
$("#parent-selector :input").attr("disabled", true);
Para mí, la respuesta aceptada no funcionó ya que tenía algunos campos ocultos de aspnet que también se desactivaron, así que elegí solo deshabilitar los campos visibles
//just to save the list so we can enable fields later
var list = [];
$(''#parent-selector'').find('':input:visible:not([readonly][disabled]),button'').each(function () {
list.push(''#'' + this.id);
});
$(list.join('','')).attr(''readonly'', true);
Usa la clase CSS para evitar la edición de los elementos Div
CSS:
.divoverlay
{
position:absolute;
width:100%;
height:100%;
background-color:transparent;
z-index:1;
top:0;
}
JS:
$(''#divName'').append(''<div class=divoverlay></div>'');
O agregue el nombre de la clase en HTML Tag. Evitará editar los Elementos Div.
$(document).ready(function () {
$(''#chkDisableEnableElements'').change(function () {
if ($(''#chkDisableEnableElements'').is('':checked'')) {
enableElements($(''#divDifferentElements'').children());
}
else {
disableElements($(''#divDifferentElements'').children());
}
});
});
function disableElements(el) {
for (var i = 0; i < el.length; i++) {
el[i].disabled = true;
disableElements(el[i].children);
}
}
function enableElements(el) {
for (var i = 0; i < el.length; i++) {
el[i].disabled = false;
enableElements(el[i].children);
}
}
$(''#mydiv'').find(''input, textarea, button, select'').attr(''disabled'',''disabled'');