通过jQuery禁用所有页面控件

时间:2010-02-24 07:46:33

标签: c# .net jquery controls

我正在使用asp.net和c#。

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

RadioButton
RadioButtonList
CheckBox
CheckBoxList
TextBox
DropDownList
Button
etc...

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

提前致谢...

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

$('input,select').attr('readonly', 'readonly');

答案 2 :(得分:0)

严格地说,你无法使用jQuery禁用任何服务器控件,服务器控件仅在页面呈现在服务器上时存在,当页面到达浏览器时,只有呈现的代码留在控件中。< / p>

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

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

请注意,控件可以根据其属性呈现为不同的html元素。带有TextMode = SingleLine的TextBox呈现为输入类型=“text”,而带有TextMode = MultiLine的TextBox呈现为textarea。

答案 3 :(得分:0)

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

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;
}