Javascript 敲除-如何同时使用option和foreach绑定
我有一个来自服务器的ajax数据,使用这些数据我应该生成选择框。 请看:Javascript 敲除-如何同时使用option和foreach绑定,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有一个来自服务器的ajax数据,使用这些数据我应该生成选择框。 请看: var dataCameFromServer={ 傅:“1”, 酒吧:“下垂”, 结果:[ { slectedBoxID:null, 选择框选项:[ { id:1, 名称:“摩西” }, { id:2, 姓名:“阿兹” }, { id:3, 名字:“妈妈” }, { id:4, 名字:“爸爸” } ] }, { slectedBoxID:2, 选择框选项:[ { id:1, 姓名:“德黑兰” }, { id:2, 姓名:
var dataCameFromServer={
傅:“1”,
酒吧:“下垂”,
结果:[
{
slectedBoxID:null,
选择框选项:[
{
id:1,
名称:“摩西”
},
{
id:2,
姓名:“阿兹”
},
{
id:3,
名字:“妈妈”
},
{
id:4,
名字:“爸爸”
}
]
},
{
slectedBoxID:2,
选择框选项:[
{
id:1,
姓名:“德黑兰”
},
{
id:2,
姓名:“马萨尔”
},
{
id:3,
姓名:“吉兰”
},
{
id:4,
姓名:“rasht”
}
]
},
{
slectedBoxID:1,
选择框选项:[
{
id:1,
名称:“阿迪达斯”
},
{
id:2,
名称:“耐克”
},
{
id:3,
名称:“rebook”
},
{
id:4,
名称:“美洲狮”
}
]
}
]
};
函数selectViewModel(){
var self=这个;
this.data=ko.observable(dataCameFromServer);
this.sbValue=ko.observearray();
ko.computed(函数(){
$.each(self.data().results,function(i,v){
self.sbValue.push(v.slectedBoxID);
});
});
ko.computed(函数(){
console.log(self.sbValue());
});
}
applyBindings(新的selectViewModel(),$(“#包装器”)[0])代码>
最简单的方法是使用插件
或者,您可以手动使每个阵列对象属性可见
var-dataCameFromServer={foo:“1”,条:“sag”,结果:[{slectedBoxID:null,selectBoxOptions:[{id:1,name:“mosi”},{id:2,name:“azi”},{id:3,name:“mom”},{id:4,name:“dad”},{slectedBoxID:2,name:“tehran”},{id:2,name:“masal”},{id:3,name:“gilan”},{id:4,name:“rasht”]},{slectedBoxID:1,selectBoxOptions:[{id:1,名称:“阿迪达斯”},{id:2,名称:“耐克”},{id:3,名称:“雷波克”},{id:4,名称:“彪马”}]};
函数selectViewModel(){
var self=这个;
//使用ko.mapping
this.data=ko.mapping.fromJS(dataCameFromServer);
this.sbValue=self.data.results().map(v=>v.slectedBoxID);
}
applyBindings(新的selectViewModel(),$(“#包装器”)[0])代码>