Javascript 使用相同的ng模型从AngularJS中的数组中选择下拉选项

Javascript 使用相同的ng模型从AngularJS中的数组中选择下拉选项,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个使用AngularJS、Monaca和OnsenUI开发的跨平台应用程序 我的一个视图是大表单,用户可以在其中选择许多下拉选择值。对于表单的大部分,选项将是“是/否”下拉列表“选择选项” 我在我的app.js中创建了一个数组,用于保存是/否选项,以填充下拉选择值,如下所示 $scope.OptionYesNo = [{ yesnooptiondesc: "No", yesnooptionid: "0" }, { yesnooptiondesc: "Yes",

我有一个使用AngularJS、Monaca和OnsenUI开发的跨平台应用程序

我的一个视图是大表单,用户可以在其中选择许多下拉选择值。对于表单的大部分,选项将是“是/否”下拉列表“选择选项”

我在我的app.js中创建了一个数组,用于保存是/否选项,以填充下拉选择值,如下所示

$scope.OptionYesNo = [{
    yesnooptiondesc: "No",
    yesnooptionid: "0"
}, {
    yesnooptiondesc: "Yes",
    yesnooptionid: "1"
}];
然后,要填充我的下拉选择选项,我在视图中执行以下操作:

<ons-row>
    <ons-col>
        Option 1
        <select id="" name="" ng-model="OptionYesNo.yesnooptionid" ng-options="yesNoOption.yesnooptionid as yesNoOption.yesnooptiondesc for yesNoOption in OptionYesNo" ng-change="changedValue(OptionYesNo.yesnooptionid, 'OptionOne')">
            <option value="" label="-- Please Select --"></option>
        </select>
    </ons-col>
</ons-row>
问题是当我尝试使用与上面相同的方法添加第二个是/否选项时,例如

<ons-row>
    <ons-col>
        Option 2
        <select id="" name="" ng-model="OptionYesNo.yesnooptionid" ng-options="yesNoOption.yesnooptionid as yesNoOption.yesnooptiondesc for yesNoOption in OptionYesNo" ng-change="changedValue(OptionYesNo.yesnooptionid, 'OptionTwo')">
            <option value="" label="-- Please Select --"></option>
        </select>
    </ons-col>
</ons-row>

选择2

每当我更改一个select值时,另一个也会更改,因为它们使用相同的ng模型。我如何处理这种情况?我不想(或认为我必须)创建$scope.OptionOneYesNo=[{…}]$scope.OptionTwoYesNo=[{…}];对于每个选择下拉列表,可能会有20多个选择下拉列表。

这可能会为您指明正确的方向。您可以在选项数组上重复。正如我使用的一个效果良好的示例:

 <select class="form-control" ng-model="user.gefunden" ng-required="true" ng-init="user.gefunden = gefunden[0]" ng-options="o as o for o in gefunden">
                                    </select>


Gefunden是我在控制器中的数组

这可能会为您指明正确的方向。您可以在选项数组上重复。正如我使用的一个效果良好的示例:

 <select class="form-control" ng-model="user.gefunden" ng-required="true" ng-init="user.gefunden = gefunden[0]" ng-options="o as o for o in gefunden">
                                    </select>


Gefunden是我在控制器中的数组

您需要在视图中为下拉列表创建不同的ng模型。不要在所有下拉列表中使用相同的模型。您仍然可以在每个下拉列表中从$scope.options yesno遍历选项。这应该能奏效

您需要在视图中为下拉列表创建不同的ng模型。不要在所有下拉列表中使用相同的模型。您仍然可以在每个下拉列表中从$scope.options yesno遍历选项。这应该能奏效

我不确定我是否正确地选择了您,但是如果您的解决方案只是在数组上迭代以显示选项值,那么这不是我正在寻找的解决方案。我需要能够使用相同的数组(我已经可以迭代),但不同的选择下拉列表。我的问题是使用与ng模型相同的数组,如果一个select下拉值被更改,则所有select下拉值都会更改为相同的值。啊,我理解。如果在视图中为下拉列表创建不同的ng模型,会发生什么情况。但是迭代$scope.options中的选项是否?您可以有多个不同的ng型号。那应该行得通。叶,成功了,谢谢。如果你想把评论作为回答,我会打接受分。很好,它成功了!我写了正确的答案。请标记它…我不确定我是否接对了您,但如果您的解决方案只是在数组上迭代以显示选项值,那么这不是我正在寻找的解决方案。我需要能够使用相同的数组(我已经可以迭代),但不同的选择下拉列表。我的问题是使用与ng模型相同的数组,如果一个select下拉值被更改,则所有select下拉值都会更改为相同的值。啊,我理解。如果在视图中为下拉列表创建不同的ng模型,会发生什么情况。但是迭代$scope.options中的选项是否?您可以有多个不同的ng型号。那应该行得通。叶,成功了,谢谢。如果你想把评论作为回答,我会打接受分。很好,它成功了!我写了正确的答案。请标记它…你能提供一个简单的演示来演示它是如何工作的吗?你能提供一个简单的演示来演示它是如何工作的吗??