我的页面需要禁用大型DIV中的所有元素,但是有一个按钮可以在单击时重新启用同一组元素。我的问题是第一个jquery运行良好,所有元素都被禁用。当我的click事件执行第二个jquery时,会跳过一些但不是所有先前禁用的元素。
$('#FormLockingDiv').find('input, textarea, button, select, optgroup').attr('disabled', 'disabled');
$('#FormLockingDiv').find('input, textarea, button, select, optgroup').removeAttr('disabled');
我尝试了以下具有相同结果的选择器:
$('#FormLockingDiv:disabled')
$('#FormLockingDiv[disabled]')
$('#FormLockingDiv').childeren
div中有textareas按钮复选框和下拉列表,并且似乎没有一个提示始终启用。
编辑:这与使用ASP.Net UpdatePanel中的ASP.Net按钮有关。在面板的后面,我添加了对解锁功能的调用,但这似乎有一些导致问题的交互。这是抛出错误“未终止的字符串常量”。当我添加标准按钮来触发不执行回发的相同代码时,将启用所有禁用的元素。这可能与表单没有完全实例化有关吗? 这是触发此错误的命令:
$('#FormLockingDiv').is(':disabled').attr('disabled', false);
以下是功能
function Lockup() {
$('#FormLockingDiv').find('input, textarea, button, select, optgroup').attr('disabled', 'disabled');
$('.btnUnlockFormSelector').removeAttr('disabled');
}
function UnLockup() {
$('#FormLockingDiv').is(':disabled').attr('disabled', false);
}
答案 0 :(得分:0)
将其更改为:
$('#FormLockingDiv').find('input, textarea, button, select, optgroup').attr('disabled', false);