【发布时间】:2018-02-18 02:12:11
【问题描述】:
我在这里使用 ng-options 有不同的情况
我的应用有两种模式。新模式和编辑模式
我有 SELECT DISTRICTS 和 VILLAGES 的输入类型。使用 DISTRICT 选择的 ng-change 事件基于 DISTRICT 选择填充 VILLAGES 选择。这在 NEW 模式下运行良好。
但在 EDIT 模式下,DISTRICT 正确显示 ng-model 的值。但是 VILLAGE 选择输入项没有显示 ng-model 值。这是因为,村庄选择中没有填充任何项目,因为 DISTRICT 的 ng-change 事件永远不会在 EDIT 模式下触发。
我仍然想将 VILLAGE 的 ng-model 值显示为下拉列表中的选定项,即使它没有任何选项。 (在编辑模式下)
关于如何做到这一点的任何想法?请多指教
下面是 DISTRICT 选择的代码
<select class="form-control" name="district" id="field_district" ng-model="vm.apeksha.district" required
ng-change="vm.updateblocks(vm.apeksha.district)"
ng-options="x.malDistName as x.malDistName for x in vm.masterDistricts " >
这里是VILLAGE选择输入项的代码
<select class="form-control" name="village" id="field_village" ng-model="vm.apeksha.village"
ng-options="village.M as village.M for village in vm.villagelist track by village.M"
required >
<option value="{{ vm.apeksha.village }}">{{ vm.apeksha.village }}</option>
</select>
即使“vm.apeksha.village”上有值也不显示选项项
在控制器中,我们有一个函数,它使用工厂来更新对应于每个 DISTRICTS 的数据列表。这是他的控制器代码
/**
* Update dropdown boxes of VILLAGES, THALUKS, PO AND BLOCS
* based on district selection
*/
vm.updateblocks = function(districtName) {
vm.blockslist = masterDataPopulator.getBlocksForDistrict(districtName);
vm.postofficelist = masterDataPopulator.getPostOfficesForDistrict(districtName);
vm.villagelist = masterDataPopulator.getVillagesForDistrict(districtName);
vm.thalukList = masterDataPopulator.getTaluksForDistrict(districtName);
};
有什么办法吗?
【问题讨论】:
-
这是一个好故事,但如果您没有发布代码,没有人可以帮助您。请发布代码 sn-p 示例或更好的代码 - 演示您的 ptoblem 的演示
-
添加了代码。请看一下
-
它唯一的 HTML 部分,请用数据发布控制器
-
对不起。我现在也更新了控制器代码。请看一下
-
提供的答案没有解决问题。有什么帮助吗?
标签: angularjs angularjs-ng-options