Javascript 在foreach中从viewModel实例化属性

Javascript 在foreach中从viewModel实例化属性,javascript,knockout.js,foreach,Javascript,Knockout.js,Foreach,我用敲除的foreach在对象上迭代。在这个foreach中,我呈现了一个表,每个表都有一个下拉列表 我需要select的值,但是ko.observable()在foreach中不起作用,因为它同时设置每个select值。我需要每个字段的单个select值,而不是将每个select设置为相同的值 有解决办法吗 这用一个简单的例子来演示。如果您有多个下拉列表,如果您想保存单个选择,则需要多个观察值来存储选定的值。例如: var CountryModel=函数(数据){ var self=这

我用敲除的
foreach
在对象上迭代。在这个foreach中,我呈现了一个表,每个表都有一个下拉列表

我需要select的值,但是
ko.observable()
在foreach中不起作用,因为它同时设置每个select值。我需要每个字段的单个select值,而不是将每个select设置为相同的值

有解决办法吗




这用一个简单的例子来演示。

如果您有多个下拉列表,如果您想保存单个选择,则需要多个观察值来存储选定的值。例如:

var CountryModel=函数(数据){
var self=这个;
self.id=ko.可观察(data.id);
self.name=ko.observable(data.name);
};
var ViewModel=函数(数据){
var self=这个;
self.things=ko.arlay([
{blarg:'blarg',selectedChoice:ko.observable()},
{means:'means',selectedChoice:ko.observable()},
{yes:'yes',selectedChoice:ko.observable()}
]);
self.countries=ko.array([
新的CountryModel({id:“1”,名称:“俄罗斯”}),
新的CountryModel({id:“2”,名称:“卡塔尔”})
]);
};
应用绑定(新的ViewModel())



您需要
对象的
selectedChoice
成员。不,l它仍然在同时更改所有值,即使在循环的对象中也是如此。好的,这仍然不起作用。你把观测值放在了错误的数组上,而它仍然同时选择所有的选择。它怎么“不工作”?这段代码运行起来很有意义,不是吗?为什么数组是“错误的”?哪个是正确的数组?“它仍然同时选择所有选择”是什么意思?它在本例中起作用,而不是在我的代码中,这需要上传页面。抱歉,对于这个例子来说,这是一个很好的解决方案,但它在我的代码中不起作用,不完全确定为什么是的,很难进行足够接近的复制,所以解决方案也会转换回来。但在其他人能够提供帮助之前,这是必需的,因为我们没有访问完整代码的权限。我建议提出一个新的SO问题,更详细地解释它与这个问题的不同之处,以及我在这里的回答如何没有帮助。