Javascript 如何使用相同的ng选项集添加多个select元素
这个问题可能很琐碎,但它让我发疯。 我可以在我的页面上动态添加n个元素。所有这些都将具有相同的选项集Javascript 如何使用相同的ng选项集添加多个select元素,javascript,angularjs,ng-options,angular-ngmodel,Javascript,Angularjs,Ng Options,Angular Ngmodel,这个问题可能很琐碎,但它让我发疯。 我可以在我的页面上动态添加n个元素。所有这些都将具有相同的选项集 <select class="form-control action" data-ng-options="action.name for action in statementData" data-ng-model="selectedRules.statementOptions" > 这是其中一个元素的标记 问题:当我在一个select元素中更改或选
<select class="form-control action"
data-ng-options="action.name for action in statementData"
data-ng-model="selectedRules.statementOptions"
>
这是其中一个元素的标记
问题:当我在一个select元素中更改或选择某个元素时,所有其他元素都会更新。我不想那样。这可能发生在同一个模型对象上。但若我删除模型,那个么就并没有数据。将原始模型复制到其他组件。例如,使用angular.copy()。如果只是复制变量,则其通过引用传递并更改为一个变量将更改另一个变量 尝试使用angular.copy()创建两个变量,并将其用于两个选择选项 请尝试以下操作:
<!-- First select -->
<select class="form-control action"
data-ng-options="action.name for action in statementData"
data-ng-model="selectedRules.statementOptions">
<!-- Second select -->
<select class="form-control action"
data-ng-options="action.name for action in statementData1"
data-ng-model="selectedRules.statementOptions">
通过使用angular.copy()可以为$scope中的两个变量创建单独的副本。甚至我也想过使用angular.copy。但这里的问题是,我可以有数百个这样的select元素,它们是动态添加的,我不知道有多少会出现在页面上。用户可以点击按钮添加这些元素,需要的次数不限。甚至我也考虑过使用angular.copy。但这里的问题是,我可以有数百个这样的select元素,它们是动态添加的,我不知道有多少会出现在页面上。用户可以点击按钮添加这些元素,需要任意次数。如果我有办法在select语句中传递一个新模型的话。那可能行得通。但我不知道怎么做。我现在可以考虑的一个逻辑是在范围内创建一个数组。Push inital statementData变量。然后,当用户单击按钮创建新的select…时,在运行时创建一个新副本,如statementData1,并将其放入数组中。因此,所有用户选择值都将在数组中,您可以根据业务需求使用它。实际上,我认为我们需要一个用于模型副本而不是数据副本的数组。我使用了这种方法,制作了一系列模型,看起来效果不错。
$scope.statementData1 = angular.copy(statementData);