如何使用jquery禁用/启用页面上的所有html按钮

时间:2011-03-20 22:04:21

标签: jquery button

我有很多ajax调用,我想确保在ajax调用期间没有人点击任何按钮。所以我想在任何ajax调用之前禁用所有按钮,然后在返回ajax调用后重新启用它们。我知道我可以禁用这样一个按钮:

 $("#buttonId").attr('disabled', 'disabled');
 $("#buttonId").removeAttr('disabled');

但是jquery中禁用/重新启用所有按钮的行是什么。我不想使用按类选择,因为我必须记住在所有按钮上放置某个类名。

注意:它们都不是提交按钮。有些用于弹出对话框等,所以

<input type="button" name="button" value="Show Popup" />

2 个答案:

答案 0 :(得分:3)

您的首要任务是定义按钮的含义。是否要禁用提交按钮?如果是,则可以使用:submit选择器(如果这些是提交按钮):

$(':submit').attr('disabled', 'disabled');
...

如果它们不是全部提交按钮,那么您可以按标签类型尝试选择器:

$(':submit, :button').attr('disabled', 'disabled');

如果您还可以混合使用可用作AJAX调用和普通调用的标记,则需要使用类选择器来消除它们的歧义。

答案 1 :(得分:0)

你试过$(“:按钮”)吗?那只会做文字按钮。 “输入会更广泛,但也会匹配单选按钮。

另外,请注意,在您的示例中,jQuery必须执行查找按钮(或所有按钮两次)的工作。链接函数调用可以避免这个问题。