Javascript 循环对象并根据选项选择将值显示到列表中
我有一个构造函数,并创建了它的一些实例,我把它们放在一个数组中。我试图做的是根据我从选项列表中选择的内容,将所述对象的值显示到空列表中。以下是我迄今为止所做的工作:Javascript 循环对象并根据选项选择将值显示到列表中,javascript,jquery,html,if-statement,for-loop,Javascript,Jquery,Html,If Statement,For Loop,我有一个构造函数,并创建了它的一些实例,我把它们放在一个数组中。我试图做的是根据我从选项列表中选择的内容,将所述对象的值显示到空列表中。以下是我迄今为止所做的工作: <ul id="contactinfo"></ul> <select id="dropdown"> <option value="email">Email</option> <option value="number">Phone Number
<ul id="contactinfo"></ul>
<select id="dropdown">
<option value="email">Email</option>
<option value="number">Phone Number</option>
</select>
功能联系人列表名称、电子邮件、号码{
this.name=名称;
this.email=电子邮件;
这个数字=数字;
}
var christian=新联系人列表'christian','christian@yahoo.com', '323-555-124';
var contactarray=[christian];
函数显示信息{
var dropdown=$'dropdown'.val;
var number=$'dropdown'.val'number';
var email=$'dropdown'.val'email';
对于i=0;ifunction displayinfo () {
var $contacts = $('#contactinfo').empty();
for (i = 0; i < contactarray.length; i++) {
$contacts.append('<li>' + contactarray[i][$('#dropdown').val()] + '</li>');
}
}
最后,您还需要在更改select中的选项时执行displayinfo,并清除以前附加的li。查看下面的小提琴,了解完整的工作示例:
因此,您希望根据下拉列表中选择的内容显示来自对象的信息吗?联系人应该是contactinfo吗?是的,很抱歉,这是一个错误,编辑了。你可以包含联系人列表的代码吗?给你,编辑了。感谢你指出,我可以看到下拉变量的错误所在,那么选择选项值的正确语法是什么?如果你想设置所选选项,使用.val'email',要获取值,请使用.val。更多信息:好的,还有contactarray[i][$'dropdown'.val]是如何从对象中获取特定值的,是因为选项值与属性具有相同的名称吗?很抱歉提出了所有的问题,我只是想理解它正在使用括号表示法访问contactarray[i]中包含的对象。它相当于contactarray[i]。例如,电子邮件假设在下拉列表中选择了“电子邮件”。如果选项值与ContactList对象的属性名称不同,则需要像原始代码一样使用if语句。