【问题标题】:using jquery, what is the easiest way to disable and enable a section of html input controls使用jquery,禁用和启用一段html输入控件的最简单方法是什么
【发布时间】:2011-04-04 04:28:58
【问题描述】:

我有一堆表单输入(textboxex、单选按钮、复选框等)

我想要启用和禁用表单的特定部分。

当我单击单选按钮(不是表单的一部分)时,我想要一种快速的方法来禁用表单此特定部分中的所有输入。还可以选择不同的单选按钮(也不是在相关表单上)以启用表单输入控件的同一部分。

一个技巧是我不能完全控制实际输入的 id 和类,所以我需要一些东西,我可以放置一个父 div 并让它找到该 div 中的所有项目

在 jquery 中是否有一种简单的方法来启用或禁用输入控件的一部分。

【问题讨论】:

    标签: jquery forms


    【解决方案1】:

    使用:input selector 获取所有输入、文本区域、选择和按钮,为jQuery() 提供上下文会将其限制为父级内部的输入,然后change the disabled attribute

     $(':input', parent).attr('disabled', 'disabled');
    

    删除禁用的属性将重新启用:

     $(':input', parent).removeAttr('disabled');
    

    【讨论】:

    • 同意!我最近做的道场太多了。 -.-
    【解决方案2】:

    您可以通过添加“禁用”属性来禁用 div,如下所示:

    $('div.container').attr('disabled', 'disabled');
    

    然后您可以通过删除属性重新启用它:

    $('.someElement').removeAttr('disabled'); 
    

    在您的情况下,向您的单选按钮或其他控件添加一个单击处理程序,该处理程序使用上述代码行来启用/禁用 div 元素(以及,通过扩展,它的所有内容),就像这样(用于禁用) :

    $('#radio-button1').click(function() {
        $('div.container').attr('disabled', 'disabled');
    });
    

    【讨论】:

      【解决方案3】:

      我能想到的第一种方法是在要操作的输入中插入/删除“禁用”一词。您可以使用 appendTo() 或 html() 函数来选择与某个 id/类名称匹配的所有输入。

      【讨论】:

        【解决方案4】:

        $('#your_div_name').find('input').disable();

        需要this plugin

        【讨论】:

          猜你喜欢
          • 2013-05-22
          • 2014-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-11
          相关资源
          最近更新 更多