Javascript 淘汰:如何从对象的observableArray中按属性名称选择项

Javascript 淘汰:如何从对象的observableArray中按属性名称选择项,javascript,html,knockout.js,Javascript,Html,Knockout.js,我通过开发一个小应用程序来打印关于所选人员的信息,这是使用knockout的第一步,问题是我不知道如何根据特定属性从数组中选择对象 在我的提琴中,我需要打印我选择的人的所有信息,但选择框中不显示姓名,它显示[Object Object] 为了得到我想要的结果,我错过了什么 var-people=[{ 姓名:“联系人1”, 地址:“1,一条街,一个城镇,一个城市,AB12 3CD”, 电话:0123456789, 电子邮件:“anemail@me.com", 类型:“家庭” }, { 姓名:“联

我通过开发一个小应用程序来打印关于所选人员的信息,这是使用knockout的第一步,问题是我不知道如何根据特定属性从数组中选择对象

在我的提琴中,我需要打印我选择的人的所有信息,但选择框中不显示姓名,它显示
[Object Object]

为了得到我想要的结果,我错过了什么

var-people=[{
姓名:“联系人1”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“家庭”
}, {
姓名:“联系人2”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“朋友”
}, {
姓名:“联系人3”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“朋友”
}];
功能联系人VIEWMODEL(人员){
var self=这个;
self.contacts=ko.array(人);
}
ko.应用绑定(新联系人查看模型(人员))

向我展示:
名称:
地址:
电话:
电子邮件:
类型:

使用选择选项文本数据绑定属性:

 <select data-bind="options: contacts,
                   optionsText: 'name',
                   value: selectedName,
                   optionsCaption: 'Choose...'"></select>

使用选择选项文本数据绑定属性:

 <select data-bind="options: contacts,
                   optionsText: 'name',
                   value: selectedName,
                   optionsCaption: 'Choose...'"></select>

您需要一个可观察对象来获取值并使用它在表单中显示

[编辑]

正如@Tomalak所建议的那样

var-people=[{
姓名:“联系人1”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“家庭”
}, {
姓名:“联系人2”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“朋友”
}, {
姓名:“联系人3”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“朋友”
}];
功能联系人VIEWMODEL(人员){
var self=这个;
self.contacts=ko.array(人);
self.selectedPerson=ko.observable();
}
ko.应用绑定(新联系人查看模型(人员))

让我看看:

姓名:

地址:

电话:

电邮:

类型:


您需要一个可观察对象来获取值并使用它在表单中显示

[编辑]

正如@Tomalak所建议的那样

var-people=[{
姓名:“联系人1”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“家庭”
}, {
姓名:“联系人2”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“朋友”
}, {
姓名:“联系人3”,
地址:“1,一条街,一个城镇,一个城市,AB12 3CD”,
电话:0123456789,
电子邮件:“anemail@me.com",
类型:“朋友”
}];
功能联系人VIEWMODEL(人员){
var self=这个;
self.contacts=ko.array(人);
self.selectedPerson=ko.observable();
}
ko.应用绑定(新联系人查看模型(人员))

让我看看:

姓名:

地址:

电话:

电邮:

类型:


谢谢!这解决了部分问题,现在我可以在选择框中正确打印姓名,但如何打印所选联系人的适当信息?就是这样,谢谢!谢谢这解决了部分问题,现在我可以在选择框中正确打印姓名,但如何打印所选联系人的适当信息?就是这样,谢谢!仅供参考,请避免将代码完全放在外部站点上。当链接断开时,这篇文章将变得无用。至少在问题中也张贴代码。StackOverflow甚至镜像了JSFIDLE的一些功能,以允许可运行的代码段!另请参阅此更新,了解处理所选联系人的更好方法。(@Guto的帖子展示了另一种表达同样东西的方法)哇!这正是我想要的,再次感谢:)仅供参考,请避免将代码完全放在外部网站上。当链接断开时,这篇文章将变得无用。至少在问题中也张贴代码。StackOverflow甚至镜像了JSFIDLE的一些功能,以允许可运行的代码段!另请参阅此更新,了解处理所选联系人的更好方法。(@Guto的帖子展示了另一种表达同样东西的方法)哇!这正是我想要的,再次感谢:)与其绑定到
text:selectedPerson()。address
,我建议在详细信息部分使用
与:selectedPerson
绑定。与其绑定到
text:selectedPerson()。address
,不如使用
,我建议在细节部分使用带有:selectedPerson的
绑定。