如何为相互关联的选择框建模
How to model interrelated select boxes?
在四个相互关联的选择框中有一个树形结构。其思想是在选择category1
后,在category2
中显示有效选项,在category3
和category4
中显示有效选项。表单的这一部分可以重复多次。
一个例子:用户可以拥有任意数量的车辆。第一类是车辆类型(卡车,轿车等),第二是品牌,第三是颜色,第四是燃料类型。
在Backbone中,我收听更改事件,相应地更新连续的选择选项。我不确定如何在烬中构建这种行为。如果一个应用程序能像这样处理相关的DOM元素/事件,那就太好了。
我的第一次尝试是为表单创建一个视图,该视图将侦听选择框上的input
(更改)事件。但是选择本身就是视图,我不能轻易地引用相关的视图。我该如何建模呢?
在控制器中解决它,观察一个选择的变化来填充其他选择,如:
Ember.ObjectController.extend({
optionsA: [A1, A2, A3],
optionsB: [],
populate: (function() {
that = this;
$.map(window.TREE, function(data, groupName) {
if ($.inArray(that.get('a'), data.as) >= 0) {
return that.set('optionsB', data.b);
}
});
}).observes('a').on('init')
});
可以指定一个成员的collectionView
和itemViewClass
。这个itemViewClass
将负责您需要的显示/隐藏功能。每个itemView
都应该知道如何显示初始折叠的类别,并知道在单击该视图(类别)时显示扩展的选项列表。
如果您有一个树状结构,您可以使用递归对视图建模并维护父类别-子类别关系。
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 如何使用jQuery选择下拉列表的值
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 按照选项卡索引的顺序循环一个jQuery选择
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 获取选择框的状态
- d3基于用户选择动态更新节点
- 提交后保留下拉选择的值
- JQuery对动态创建的对象进行选择
- 无法在Ionic select中预先选择最后一个选项
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery自动完成阻止选择后聚焦
- 使用此选项选择父类内部的类
- jQuery最近父级的数据属性选择器
- 遍历类元素数组,并在jquery中选择同级元素
- CKeditor:更改对话框中的默认选择选项
- 如何为相互关联的选择框建模