根据knockout.js中的条件设置下拉默认值
我试图将下拉列表与可观察数组绑定,并根据条件设置所选项目,但所选值未得到更新 相同的代码为:根据knockout.js中的条件设置下拉默认值,knockout.js,Knockout.js,我试图将下拉列表与可观察数组绑定,并根据条件设置所选项目,但所选值未得到更新 相同的代码为: function Item(id, name) { this.id = ko.observable(id); this.name = ko.observable(name); } var viewModel = function(){ var self= this; self.test = ko.observable('a'), self.selectedItem = ko.computed(func
function Item(id, name) {
this.id = ko.observable(id);
this.name = ko.observable(name);
}
var viewModel = function(){
var self= this;
self.test = ko.observable('a'),
self.selectedItem = ko.computed(function () {
var tempreview = self.test();
if (tempreview === "a") {
return ko.observable("2");
}
else
return ko.observable("3");
}),
self.items = ko.observableArray([new Item(3, "")])
};
var vm = new viewModel();
vm.items([new Item(1, "pencil"),
new Item(2, "pen"),
new Item(3, "marker"),
new Item(4, "crayon")
]);
ko.applyBindings(vm);
<select data-bind="options: items, optionsText: 'name', optionsValue: 'id', value:selectedItem"></select>
<div data-bind="text: selectedItem"></div>
功能项(id、名称){
this.id=ko.可观察(id);
this.name=ko.observable(name);
}
var viewModel=函数(){
var self=这个;
自测试=可观察的(“a”),
self.selectedItem=ko.computed(函数(){
var tempreview=self.test();
如果(临时审查==“a”){
可观察的回报(“2”);
}
其他的
可观察的回报(“3”);
}),
self.items=ko.observearray([新项目(3,”))
};
var vm=new viewModel();
虚拟项目([新项目(1,“铅笔”),
新项目(2,“pen”),
新项目(3,“标记”),
新项目(4,“蜡笔”)
]);
ko.应用绑定(vm);
Jsfiddle链接是://Jsfiddle.net/sajesh1985/c7MCh/2/
谢谢,
Sajesh在您的
选择的编辑项中,只需返回“2”或“3”,而不是可观察的:
self.selectedItem = ko.computed(function () {
var tempreview = self.test();
if (tempreview === "a") {
return '2';
}
else
return '3'
}),
请不要只是提供你的代码在小提琴总是包括在你的问题的相关部分!