【问题标题】:Hide button event when other button is disabled当其他按钮被禁用时隐藏按钮事件
【发布时间】:2017-12-26 13:02:35
【问题描述】:

我想要一个 jQuery 或 javascript 或 CSS 中的事件,当其他按钮(“B”按钮)(不在表单中)被禁用并且相反时可以隐藏按钮(“A”按钮)。启用“B”按钮时显示“A”按钮。

“B”按钮有角度代码,但我无法访问$scope

<div ng-if="something" class="steps-pager ng-scope">
    <!-- More stuff -->
    <a href="" ng-click="goTo()" class="next" title="next step" tabindex="0" ng-class="{hidden:disableButton}">next</a>
</div>

我在前端工作(使用分析测试软件),我不知道必须触发“B”按钮启用或禁用状态的所有元素是什么。它可以是点击,也可以是验证和其他东西。

我尝试使用更改事件对其进行测试,但它们仅适用于输入元素。我试图获得 $scope 但它似乎受到保护。我无权访问 $Scope。有一个间隔可以工作,但是对于这个网站来说,在一个巨大的过程的每个步骤中都有一个间隔是很重的。

【问题讨论】:

  • 请分享您到目前为止尝试过的内容。
  • 我认为您的问题需要澄清。您在谈论两个按钮,但它们不在您的代码中。你能补充更多信息吗?
  • 嗨,我用该信息更新了帖子。谢谢

标签: javascript jquery html css angularjs


【解决方案1】:

您可以在AngularJs中使用ng-hideng-disabled来实现上述场景。

您始终可以通过将范围对象设置为 true 来动态地将 ng-disabled 值与您的其他表单验证结果一起分配。

下面是工作演示

(function(angular) {
  'use strict';
  angular.module('app', [])
    .controller('Ctrl', ['$scope', function($scope) {

      $scope.disableA = false;
      $scope.disableB = false;
      $scope.disable = function() {
       
        $scope.disableB = $scope.disableA ? false:true;
      };
    }]);
})(window.angular);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="app">
  <div ng-controller="Ctrl">

    <button ng-click="" ng-hide="disableB" ng-disabled="disableA">Button A</button>

    <button ng-click="" ng-hide="disableA" ng-disabled="disableB">Button B</button>

    <button ng-click="disable()" ng-hide="">Disable B</button>

  </div>
</body>

【讨论】:

    猜你喜欢
    • 2012-06-02
    • 1970-01-01
    • 2018-01-18
    • 2020-11-03
    • 2023-04-10
    • 1970-01-01
    • 2015-03-28
    • 2019-12-12
    • 2015-08-21
    相关资源
    最近更新 更多