我已经创建了具有在JSON数据中定义的层次结构的链接(父 - 子)选择框。每个选择框对象都指定了它的父级选择框对象,以及一组选择框选项,其中每个选项都包含选项值+父值。选择框对象还包含选定选项对象,该选项对象与可用选择框选项对象之一相同。下面是数据的简化表示:使用ng选项填充选择框多次调用ng-change函数
我创建动态使用在“选择”标签ng-options
选择盒,然后我使用自定义过滤器,其中我被父匹配滤波器所检索的选项选项值的选项值与其父对象的“当前选定值”一起使用。基本上使用自定义过滤器从子选项值到所选父值进行多对一映射。
问题是,有了这个结构,我想把ng-change
指令放在选择框上,它会调用一个控制器函数来做一些事情。但是这个函数被调用的次数与一个层次结构中的选择框数量相同(在这种情况下为3,如图所示)。这在应用程序中造成严重的不良行为。
Here is the Plunker,我在这里转载了这个问题。我在选择框更改事件上调用一个函数来设置与选择框关联的单选按钮(例如,如果选择了国家/地区选择框中的某个值,则层次结构中下一个选择框的单选按钮,即州,应该被选中)。但由于setDrillDown
函数被多次调用,最后一个与层次结构中最后一个选择框关联的单选按钮被选中。
由于这个问题而陷入困境,任何帮助将不胜感激!