2016-03-04 110 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