2016-03-04 86 views
-3
<html> 
<head> 

<script> 

var contacts =[]; 

function getInfo() { 
    var firstName = prompt("Enter first name"); 
    var lastName = prompt("Enter last name"); 
    var emailId = prompt("Enter Email ID"); 
    var phoneNo = prompt("Enter Phone number"); 

    var person ={ 
     fname : firstName, 
     lname : lastName, 
     email : emailId, 
     phone : phoneNo 
    }; 


    contacts.push(person); 

    var currPerson = contacts[contacts.length-1]; //take last pushed object from the array 

     if(currPerson.lname.toUpperCase().charAt(0)==='Z'){ 

     document.getElementById("mydiv").innerHTML +=currPerson.fname+" "+currPerson.lname + '<br/>'; 
     } 



} 

</script> 

<body> 

<button onclick="getInfo()">Get Person Info</button> 
<p>----------------------------</p> 
<div id="mydiv"></div> 
</body> 
</html> 

Output如何显示数组对象信息?

当我点击BILLA zopper,他的详细信息(姓名,电话和电子邮件)应在同一页上右手边出现。我如何实现这一目标?我知道DOM是一种选择。但是,我如何链接DOM与数组元素?

+0

取决于您要写入的元素。你在这里发布的内容有什么问题?你不确定如何“foreach”数组来写所有的名字? – Nikki9696

+0

它的工作原理,但只有当姓氏以大写Z –

+0

@ Nikki9696开头时,我将有n个联系人。如果我在列表中选择任何名称,则应显示信息(全名,电话,电子邮件)。在上面的代码中,我只是打印当前元素,我没有使用onClick()显示其他信息的前一个元素的轨迹。我如何将这个与DOM关联来打印全名,电子邮件,电话? – Droidr

回答

1

我正在使用数组索引的相关性,使其成为一个简单的例子。我觉得有必要指出,这不是我如何在实际应用中实现任何东西。但是你问了如何让它在点击旁显示事物,所以我们在这里。

<button onclick="getInfo()">Get Person Info</button> 
<p>----------------------------</p> 
<div id="mydiv"></div> 
<div id="target" style="float: right;"> 
</div> 


var contacts =[]; 
function getInfo() { 
    var firstName = prompt("Enter first name"); 
    var lastName = prompt("Enter last name"); 
    var emailId = prompt("Enter Email ID"); 
    var phoneNo = prompt("Enter Phone number"); 


    var person ={ 
     id: contacts.length, 
     fname : firstName, 
     lname : lastName, 
     email : emailId, 
     phone : phoneNo 
    }; 

    contacts.push(person); 
    var currPerson = contacts[contacts.length-1]; 
    if(currPerson.lname.toUpperCase().charAt(0)==='Z') {   
      document.getElementById("mydiv").innerHTML += "<span onclick='showMe(" + currPerson.id + ")'>" + currPerson.fname + " " + currPerson.lname + "</span><br/>"; 

    } 
} 

function showMe(id) { 
    var person = contacts[id]; /* currently corresponds to array index, could be a property lookup with underscore or whatever */ 
    target.innerHTML = "<div>" + person.fname + "</div>"; 
} 
+0

“不是我如何在现实世界中实现任何东西”......通过投票让我笑。 :D – Roberto

+0

=)还有更好的方法来做这件事,但我会写整个应用程序。据我所知,有人告诉他这样做是为了做作业或其他事情...... – Nikki9696

+0

@ Nikki9696它只显示person.fname?我可以让它显示完整的信息(全名,电子邮件,电话)吗?我试过了,但它只显示最后一个。 – Droidr