两个下拉选项绑定基于ID knockoutjs
Two Drop down options binding based on ID knockoutjs
我有以下内容:
<select data-bind="options: animals, value: optionsValue: 'ID', optionsText: 'Name'" />
self.animals = ko.mapping.fromJS([
{"Name": "Tamed": , "ID": "1" },
{"Name": "Wild": , "ID": "2" },
]);
self.wildOrTamed = ko.mapping.fromJS([
{ "Name": "Cat", "ID": "1" },
{ "Name": "Lion", "ID": "2" },
{ "Name": "Cat": "1" },
{ "Name": "Tiger", "ID": "2" }]);
我想让它有2个下拉列表一个用于动物选择驯服或野生,然后基于此更改我的wildortamamed下拉列表以显示使用指定ID的野生动物或驯服动物。
注意:这是动态的,所以可能有其他类型的动物…
有人能帮我一下吗?
谢谢
尝试使用computed observable。查看小提琴http://jsfiddle.net/aravindbaskaran/6w4N8/
<select data-bind="options: animalTypes, value: animalType, optionsValue: 'ID', optionsText: 'Name'"></select>
<select data-bind="options: animalsForType, value: selectedAnimal, optionsValue: 'ID', optionsText: 'Name'"></select>
self.animalTypes = ko.observable([{"Name": "Tamed","ID": "1"},
{"Name": "Wild","ID": "2"},
{"Name": "Something else","ID": "3"}]);
self.animals = [{"Name": "Cat","ID": "1"},
{"Name": "Lion","ID": "2"},
{"Name": "Cat","ID": "1"},
{"Name": "Tiger","ID": "2"}];
self.animalType = ko.observable();
self.selectedAnimal = ko.observable();
self.animalsForType = ko.computed(function () {
var selectedType = self.animalType();
return !selectedType ? [] : self.animals.filter(function (animal) {
return animal.ID == selectedType;
});
});
希望有帮助!
嗨,我不是100%确定,但下面的链接将帮助您创建级联下拉。http://www.dotnetexpertguide.com/2012/06/cascading-dropdown-knockoutjs-aspnet.html
相关文章:
- 如何绑定多个具有相同敲除功能、传递不同ID的链接
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 将点击事件绑定到新元素&使得ID'是独一无二的
- 无法调用方法“”;getEditResponseUrl"当使用表单ID打开表单时,绑定到工作表的Google
- 在单页应用程序中使用敲除绑定进行id导航
- 如何在jQuery中绑定同一事件上的多个id
- 给出动态 id Angular2 绑定
- Javascript 将函数调用绑定到 id
- Jquery id 选择器变量无法绑定到 onchange
- 使用子元素的 id 绑定父元素的单击事件
- 将事件绑定到类中的所有元素,而不仅仅是一个 id
- 将 Model.ID 绑定到复选框列表,并将模型.X、模型.Y 等属性发布到控制器
- 在骨干中使用手动ID绑定是否正确.js孩子到父母
- 由于 ID 更改绑定,主干视图呈现两次
- 将“结束”事件绑定到没有 ID 或类的声音播放
- 来自数据绑定函数的 ID
- Emberjs如何绑定属性和id
- d3通过id值将对象的数组数据绑定到加载的svg
- 将表id永久绑定到jquery数据表
- 如何绑定id < light >与事件Onclick