【问题标题】:Disabling all the Page Control through jQuery通过 jQuery 禁用所有页面控件
【发布时间】:2011-01-20 10:19:57
【问题描述】:

我正在研究 asp.net 和 c#。

我在页面上使用了大量的 ASP 和 HTML 控件,在某些情况下,所有控件都被禁用。 一些使用的控件是:

RadioButton
RadioButtonList
CheckBox
CheckBoxList
TextBox
DropDownList
Button
etc...

当我在某些情况下调用此 jQuery 方法时,我需要一个简单而简短的方法来禁用所有控件。 有什么帮助吗?

在此先感谢...

【问题讨论】:

    标签: c# .net jquery controls


    【解决方案1】:

    您可以为此目的使用以下代码:

    js 点击:

    $('body').append('<div class="noclick" />');
    

    一旦完成:

    $(".noclick").remove();
    

    css:

    .noclick {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 9999; /* or maybe higher */
        background-color: transparent;
    }
    

    【讨论】:

      【解决方案2】:

      严格来说,您根本无法使用 jQuery 禁用任何服务器控件,服务器控件仅在页面在服务器上呈现时存在,当页面到达浏览器时,控件仅剩下呈现的代码。

      您必须找出从控件呈现的 html 元素并禁用这些元素。例如:

      $('input[type=submit], input[type=checkbox], select, input[type=text], textarea').attr('disabled','disabled');
      

      请注意,控件可以根据其属性呈现为不同的 html 元素。 TextMode=SingleLine 的 TextBox 被渲染为输入 type="text",而 TextMode=MultiLine 的 TextBox 被渲染为 textarea。

      【讨论】:

        【解决方案3】:
        $('input,select').attr('readonly', 'readonly');
        

        【讨论】:

        • 你是什么意思 Asp 控件? jQuery 对 Asp 一无所知,它只看到你的 HTML 结构。
        【解决方案4】:

        你能把所有的控件都放在面板里吗?可以禁用面板,里面的所有控件都会被禁用,在JS中就像禁用div标签一样简单,在BE中更简单。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-04-10
          • 1970-01-01
          • 1970-01-01
          • 2012-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多