Javascript 使用jQuery禁用表单中的所有输入元素(部分除外)

Javascript 使用jQuery禁用表单中的所有输入元素(部分除外),javascript,jquery,html,Javascript,Jquery,Html,我试图使用jquery禁用表单中几乎所有的输入元素,但我需要启用一些输入元素。例如: $(document).ready(function () { $("#document :input[name!='tloEnable']).attr("disabled", true); }); 这在我拥有的同名“tloEnable”元素上非常有效。但是,还有一些其他元素具有不同的名称属性(filename、notifyUsers、notifyTeam)。如何在禁用其余输入元素的同时也包含它们 $

我试图使用jquery禁用表单中几乎所有的输入元素,但我需要启用一些输入元素。例如:

$(document).ready(function () {
    $("#document :input[name!='tloEnable']).attr("disabled", true);
});
这在我拥有的同名“tloEnable”元素上非常有效。但是,还有一些其他元素具有不同的名称属性(filename、notifyUsers、notifyTeam)。如何在禁用其余输入元素的同时也包含它们

$(document).ready(function () {
    $("#document :input[name!='tloEnable], [name!='filename'], [name!='notifyUsers'], [name!='notifyTeam']).attr("disabled", true);
});

给出要禁用类的输入,例如
禁用的输入
。然后简单地说:

Jquery 1.6:

$(".disabled-inputs").prop('disabled', true);  
$(".disabled-inputs").attr('disabled','disabled');
jQuery 1.5及以下版本:

$(".disabled-inputs").prop('disabled', true);  
$(".disabled-inputs").attr('disabled','disabled');
使用并传递选择器;匹配的元素将被排除在外:

$(document).ready(function () {
    $(":input").not("[name=tloEnable], [name=filename], [name=notifyUsers]")
        .prop("disabled", true);
});
工作原理相同:

$(document).ready(function () {
    $(":input:not([name=tloEnable], [name=filename], [name=notifyUsers])")
        .prop("disabled", true);
});

<强>沙尔曼A的解决方案是我可能使用的(假设你不能只给字段一个类名),但是你也可以考虑只使用与你的标准匹配的元素。

在这里,我们只是检查
name
在我们的
fieldsnotbedisabled
列表中是否不存在,但是您可以轻松地扩展它以测试其他任何内容

var fieldsnotbedisabled=新数组(“tloEnable”、“filename”、“notifyUsers”、“notifyTeam”);
$(“表单输入”).filter(函数(索引){

return fieldsnotbedisabled.indexOf($(this.attr(“name”))在元素上使用公共类,使您的生活更轻松。您可以向应禁用的输入元素添加一个
禁用的
类。对要启用的元素使用公共类。如果出于某种原因,您仍然不想使用类,您可以这样做,但它很难看,可能更难维护。