【问题标题】:Disable all checkboxes, all dropdown lists & textboxes at one shot with Jquery使用 Jquery 一次性禁用所有复选框、所有下拉列表和文本框
【发布时间】:2011-08-17 09:08:32
【问题描述】:

我想一次性禁用所有复选框、所有下拉列表和文本框(按钮除外),这些都存在于我的页面中。

以下代码无效,请纠正。

$('checkbox').filter('type=[button]').attr("disabled", "disabled");
$('input').filter('type=[button]').attr("disabled", "disabled");
$('select').filter('type=[button]').attr("disabled", "disabled");

注意:我不想禁用页面中的按钮。

【问题讨论】:

  • 属性选择器放在方括号内,[type="button"] 不是 type=[button]

标签: jquery jquery-ui jquery-selectors


【解决方案1】:

假设您使用的是 jQuery v1.6.*,您应该使用.prop("disabled", true)

$('input[type="text"], input[type="checkbox"], select').prop("disabled", true);

【讨论】:

  • 谢谢,但是如何排除某些复选框?我可以使用过滤器吗?
  • 你想匹配什么?班级? ID?属性?
  • input[type="checkbox"][id!="foo"] 并用 ID 替换 foo。还可以查看api.jquery.com/category/selectors 以获得更多可能性。
  • 谢谢克里斯。但我问过如何排除某些复选框被禁用。无论如何,我会检查你提供的链接。谢谢
  • 让我试着为你分解一下...input 表示 jQuery 将选择所有 <input /> 元素。添加[type="checkbox"] 和jQuery 将只选择<input type="checkbox" /> 元素。此外,添加[id!="foo"] 意味着jQuery 将选择所有<input type="checkbox" /> 元素只要它们的id 不是id="foo"
【解决方案2】:

如果您使用的是最新的 jquery,设置属性的正确方法是使用 .prop。

$(":checkbox, select, :text").prop("disabled",true);

【讨论】:

    【解决方案3】:
    $('input[type="text"], input[type="checkbox"], select').prop("disabled", true);
    

    【讨论】:

    • 注意:我不想禁用页面中的按钮。
    • 是的,上面没有选择按钮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    相关资源
    最近更新 更多