在从另一个下拉菜单中选择值时加载下拉菜单中选择的值
Load selected values in dropdown on selecting value from another dropdown
我有两个下拉列表。当我从一个下拉菜单中选择值时,它会根据选择的内容加载另一个下拉菜单中的值。
这是我的html代码
<select data-bind="options: filters, value: filter"></select>
<select data-bind="options: filteredItems, optionsText: 'name'"></select>
这是我的淘汰代码
var ViewModel = function(data) {
var self = this;
self.filters = ko.observableArray(data.filters);
self.filter = ko.observable('');
self.items = ko.observableArray(data.items);
self.filteredItems = ko.computed(function() {
var filter = self.filter();
if (!filter || filter == "None") {
return self.items.slice(0, 6);
} else {
return self.items.slice(2);
}
});
};
var initialData = {
filters: ["None", "Old", "New", "Super"],
items: [{ name: "Corvette", type: "Old"},
{ name: "Charger", type: "Old"},
{ name: "Prius", type: "New"},
{ name: "Magnum", type: "New"},
{ name: "McLaren", type: "Super"},
{ name: "Saleen", type: "Super"}]
ko.applyBindings(new ViewModel(initialData));
当我选择类型为None时,它会选择所有的汽车,如果我选择类型不是None,那么它应该只选择"Charger"answers"Magnum"
首先,如果要返回所有项,只返回self.items()
,则不需要切片。如果你想返回匹配过滤器的项目,这应该可以工作:
self.filteredItems = ko.computed(function() {
var myFilter = self.filter();
if (!myFilter || myFilter == "None") {
return self.items();
} else {
var tempArray = [];
for(i=0; i<self.items().length; i++) {
if(self.items()[i].type == myFilter) {
tempArray.push(self.items()[i]);
}
}
return tempArray;
}
});
检查工作提琴
如果你只想选择"Charger"answers"Magnum",就像这样:
self.filteredItems = ko.computed(function() {
var myFilter = self.filter();
if (!myFilter || myFilter == "None") {
return self.items();
} else {
return [ self.items()[1], self.items()[3] ];
}
});
相关文章:
- 从选择下拉菜单中获取数据
- 在angularjs UI网格列中选择下拉菜单不适用于外部editcellTemplate
- JS在选择下拉菜单打开时创建延迟
- 选择下拉菜单:实现非精确搜索,每个单词都将被不可重复地搜索
- 在javascript中动态添加一个选择下拉菜单
- html表单上的许多选择(下拉菜单),如何只获取更改的选择的值
- 未选择下拉菜单时更改css
- 存储值后,重复重新选择选择下拉菜单的第一个选项
- 用于关闭和打开的Jquery事件选择下拉菜单,而不是在更改时
- 是否可以在HTML选择下拉菜单的每个选项上附加一个qtip2工具提示
- 如何使用选择下拉菜单更改元素
- 圆角<选择>下拉菜单
- 在选择下拉菜单时创建文本字段
- HTML选择下拉菜单,最大高度为100%,大小自动
- <选择>下拉菜单以定位JavaScript打开的文件
- 将数据加载到动态填充的分部视图中的选择下拉菜单
- 表排序器从选择下拉菜单和自定义时间过滤器中选择多个选项
- angularjs-编辑项目时,在选择下拉菜单中设置所选值
- 输入-选择下拉菜单在firefox中不起作用
- AngularJS-为什么选择下拉菜单;零钱上没有$event