禁用页面上的所有按钮

新手上路,请多包涵

我有一个 MVC 视图,上面有许多按钮(篮子中的每个项目呈现 2 个按钮)…

 <button class="pbbg" id="ProductMinus_161637" type="button">-</button>
<button class="pbbg" id="ProductPlus_161637" type="button">+</button>

(他们都有一个 onclick 事件)

当按下这些按钮中的任何一个时,我想禁用每个产品的所有按钮,直到购物篮完成更新。

单击事件调用 JavaScript 函数,该函数又进行 Ajax 调用。在这篇 文章 之后,我尝试做的第一件事是禁用所有按钮…..

 $("input[type=button]").attr("disabled", "disabled");

然后在 Ajax 调用返回后重新启用它们….

 $("input[type=button]").removeAttr("disabled");

我没有收到任何错误,但按钮没有被禁用。

我哪里出错了?

原文由 Fred 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 460
2 个回答

你的选择器是错误的。而不是 input.. 选择器你应该使用 :button 伪选择器。

您可以使用 :button 选择器来选择所有按钮。

 $(':button').prop('disabled', true); // Disable all the buttons

要启用所有按钮:

 $(':button').prop('disabled', false); // Enable all the button

编辑

如果您只想禁用 ID 以 Product 开头的按钮,请使用:

 $('button[id^="Product"]')

原文由 Tushar 发布,翻译遵循 CC BY-SA 3.0 许可协议

可能是因为您没有使用 input 标签,您使用的是直接 button 标签。试试 $("button").attr("disabled", "disable") 代替。

原文由 jered 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题