【问题标题】:Enable a button dynamically动态启用按钮
【发布时间】:2016-08-11 13:16:38
【问题描述】:

我有一个空数组,在页面加载时,由于该数组中没有存储任何值,我使用 ng-disabled="array1.length==0" 禁用了该按钮。在打开的页面中,我有四个下拉菜单。我想要实现的是,当我选择四个下拉菜单中的一个选项时,应该启用该按钮。

但是仅仅通过将ng-disabled添加到按钮并不会动态计算数组的长度。

我已经声明 array1= [{name1:''}, {name2:''}, {name:''}]。我刚刚发现长度永远不会为 0。我希望在值为 '' 时禁用该按钮,并在用户选择一个值后启用该按钮。

页面中显示的字段是可配置的,因此我在页面中默认显示的所有四个字段都属于一个模型。 ng-model="model[value.Name]" 这会给我四个下拉菜单(我做了一个 ng-repeat)。所以我不能向 ng-disabled 添加硬编码值,因为它们是动态值。

关于如何完成这项工作的任何建议?

【问题讨论】:

  • ng-disabled="array1.length==0" 用过,因为数组长度总是0。
  • 不起作用。当我把它,按钮没有被禁用。
  • 你能加个snippet吗?
  • 你初始化了 array1 =[] 还是 array1 =''?
  • 编辑问题以提供更清晰的图片

标签: javascript html angularjs button controller


【解决方案1】:

请尝试使用 ng-disabled='ddl1 || ddl2 || dd3 || dd4' !!!

【讨论】:

  • 这行不通。如果只选择了一个下拉菜单,它将被禁用,并且只会在最初未在问题中请求的情况下启用。
【解决方案2】:

你应该有ng-disabled="!value1 && !value2 && !value3 && !value4 其中 value1、value2、value3、value4 代表提到的下拉列表的 ng-model。如果其中一些下拉值具有选定值按钮,则应启用。

【讨论】:

  • 这是无效数组:array1= [name1:'', name2:'', name:''] 请更好地解释它的外观。
  • 我不明白为什么这个数组无效?我能够查看值而没有任何错误!如果我遗漏了什么,请纠正我。
  • 这无效 = array1= [name1:'', name2:'', name:''],这是有效的:array1= [{name1:''}, {name2:' '}, {姓名:''}];但我看到你在我发表评论后编辑了你的帖子:)
  • 我尝试了您的解决方案,并且有效.. 但随后又有 if's and but's 需要研究.. 但是为了暂时解决我的问题,这很有效:) 谢谢
【解决方案3】:

找到我的答案。我希望您的数组格式将更改为 json 上的数组,如控制器中所示。

$scope.myarray = [{name:''},{name:'name2'},{name:'name3'}]; 

html

<body ng-app='myApp' ng-controller='myCtrl'>
 <button ng-disabled="!selectedName.name && !selectedName2.name" '>button</button>

<select ng-model="selectedName" ng-options="x.name for x in myarray"></select>
   <select ng-model="selectedName2" ng-options="x.name for x in myarray"></select>
</body>

控制器

var app = angular.module("myApp", []);

angular
.module('myApp')
.controller('myCtrl', ['$scope',
    function ($scope) {
$scope.myarray = [{name:''},{name:'name2'},{name:'name3'}];            
    }]);

请找到那个笨蛋 Plnkr link

【讨论】:

  • 我无法将数组更改为具有相同的name。如果我这样做了,我将无法实现用户配置。
  • 那么如何使用 ng-repeat 循环。将您的 html 代码和控制器代码粘贴到您的问题中以获得清晰
  • 我仍然必须尝试你建议的方式.. 完成后会更新:)
猜你喜欢
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
  • 2013-11-23
  • 2011-03-08
  • 1970-01-01
  • 2016-11-03
相关资源
最近更新 更多