我有陈述$("#myDiv").attr("disabled","disabled");
我想,一旦我禁用“父”容器,其中的所有元素都将被禁用。我实际上看到的是,该文本框看起来像已禁用,“删除”不起作用,但我可以在那里输入。在同一个div内部的复选框,看起来确实已禁用,我无法检查/取消选中它。我不确定100%,但我认为我已经使用了这种方式禁用它并且它按预期工作(文本框不可打字)。所以我想知道我是否需要为文本框明确设置禁用,或者其他一些CSS可能会打破我所期待的。
更新 我知道如何为我需要的元素显式设置禁用,我只是不想做它和我要求的是,如果它是禁用它的唯一方法,或文本框可能完全作为复选框(没有明确禁用它)和只是一些CSS打破了这种行为。
答案 0 :(得分:5)
据我所知,这不是跨浏览器友好的,也不是有效的标记。最好的选择是做一些像
这样的事情$('#myDiv').find('input,textarea,select').attr("disabled", true);
那应该找到div中的所有表单元素并直接应用teh disabled标志
编辑:甚至只是
$('input,textarea,select', '#myDiv').attr("disabled", true);
答案 1 :(得分:1)
您可以使用:input选择器:
$("#myDiv :input").attr("disabled", true);