Javascript 动态启用按钮

Javascript 动态启用按钮,javascript,html,angularjs,button,controller,Javascript,Html,Angularjs,Button,Controller,在页面加载时,我有一个空数组,因为该数组中没有存储值,所以我使用ng disabled=“array1.length==0”禁用了该按钮。在打开的页面中,我有四个下拉列表。我试图实现的是,当我在四个下拉列表中选择一个选项时,按钮应该被启用 但是,仅仅通过将ng disabled添加到按钮,并不能动态计算数组的长度 我已经宣布 array1= [{name1:'}, {name2:''}, {name:''}]。我刚刚发现长度永远不会是0。我希望在值为“”时禁用该按钮,并在用户选择值后启用该按钮

在页面加载时,我有一个空数组,因为该数组中没有存储值,所以我使用
ng disabled=“array1.length==0”
禁用了该按钮。在打开的页面中,我有四个下拉列表。我试图实现的是,当我在四个下拉列表中选择一个选项时,按钮应该被启用

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

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

页面中的字段是可配置的,因此我在页面中默认显示的所有四个字段都属于一个模型
ng model=“model[value.Name]”
这将给我四个下拉列表(我重复ng次)。因此我无法将硬编码值添加到
ng disabled
中,因为它们是动态值


有关于如何完成此操作的建议吗?

您应该禁用
ng=“!value1&&!value2&!value3&!value4

其中,value1、value2、value3、value4表示所述下拉列表中的ng型号。如果某些下拉列表值具有选定的值,则应启用按钮。

您应禁用
ng=“!”!值1&!价值2&!价值3&!值4

其中,value1、value2、value3、value4表示所述下拉列表的ng模型。如果其中一些下拉值具有选定的值,则应启用按钮。

请尝试禁用该ng='ddl1 | | ddl2 | dd3 | | dd4'

请尝试使用禁用的ng='ddl1 | | ddl2 | | dd3 | | dd4'

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

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

请找到那个笨蛋
找到我的答案。我希望将您的数组格式更改为json上的数组,如controller中所示

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

请找到那个笨蛋

ng disabled=“array1.length==0”使用它,因为数组长度始终为0。不起作用。当我这样说的时候,按钮并没有被禁用。你能添加一个吗?你是初始化了array1=[]还是array1=''?编辑了这个问题以给出更清晰的图片eng disabled=“array1.length==0”使用了它,因为数组长度始终为0。不起作用。当我这样说时,按钮没有被禁用。你能添加一个吗?你初始化了array1=[]还是array1=''?编辑了这个问题以给出更清晰的图片这是无效的数组:array1=[name1:'',name2:'',name:''请更好地解释它的外观。我不明白为什么这个数组无效?我可以查看没有任何错误的值!如果我缺少某些内容,请更正。这是无效的=array1=[name1:'',name2:'',name:'',这是有效的:array1=[{name1:'},{name2:'},{name:'}];但是我看到你在我的评论后编辑了你的帖子:)我尝试了你的解决方案,效果很好。。但是,还有一个“如果”和“但是”的问题需要研究。。但为了暂时解决我的问题,请执行以下操作:)谢谢这是无效数组:array1=[name1:“”,name2:“”,name:“”]请更好地解释它的外观。我不明白为什么此数组无效?我可以查看没有任何错误的值!如果我缺少某些内容,请更正。这是无效的=array1=[name1:'',name2:'',name:'',这是有效的:array1=[{name1:'},{name2:'},{name:'}];但是我看到你在我的评论后编辑了你的帖子:)我尝试了你的解决方案,效果很好。。但是,还有一个“如果”和“但是”的问题需要研究。。但为了暂时解决我的问题,这是可行的:)谢谢,我不能将数组更改为具有相同的
名称。如果我这样做,那么我将无法实现用户配置。那么如何使用ng重复循环。在你的问题中粘贴你的html代码和控制器代码以获得Clarity我仍然需要尝试你建议的方式。。完成后将更新:)我无法将数组更改为具有相同的
名称。如果我这样做,那么我将无法实现用户配置。那么如何使用ng重复循环。在你的问题中粘贴你的html代码和控制器代码以获得Clarity我仍然需要尝试你建议的方式。。完成后将更新:)这无法工作。如果只选择了一个下拉列表,则每次都将禁用该功能,并且仅在问题中未请求的初始情况下启用。此功能无法工作。如果只选择了一个下拉列表,则每次都将禁用该选项,并且仅在问题中未请求的初始情况下启用该选项。
var app = angular.module("myApp", []);

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