我有很多ajax调用,我想确保在ajax调用期间没有人点击任何按钮。所以我想在任何ajax调用之前禁用所有按钮,然后在返回ajax调用后重新启用它们。我知道我可以禁用这样一个按钮:
$("#buttonId").attr('disabled', 'disabled');
$("#buttonId").removeAttr('disabled');
但是jquery中禁用/重新启用所有按钮的行是什么。我不想使用按类选择,因为我必须记住在所有按钮上放置某个类名。
注意:它们都不是提交按钮。有些用于弹出对话框等,所以
<input type="button" name="button" value="Show Popup" />
答案 0 :(得分:3)
您的首要任务是定义按钮的含义。是否要禁用提交按钮?如果是,则可以使用:submit
选择器(如果这些是提交按钮):
$(':submit').attr('disabled', 'disabled');
...
如果它们不是全部提交按钮,那么您可以按标签类型尝试选择器:
$(':submit, :button').attr('disabled', 'disabled');
如果您还可以混合使用可用作AJAX调用和普通调用的标记,则需要使用类选择器来消除它们的歧义。
答案 1 :(得分:0)
你试过$(“:按钮”)吗?那只会做文字按钮。 “输入会更广泛,但也会匹配单选按钮。
另外,请注意,在您的示例中,jQuery必须执行查找按钮(或所有按钮两次)的工作。链接函数调用可以避免这个问题。